开发者社区 > 通义灵码 > AI程序员 > 正文

通义千问python脚本运行无效果,请问是什么原因造成的?应该如何修改呢?

要求通义千问生成一个Python脚本,对文件夹中的txt文档进行处理。要求如下:
1、每行不超过2048字符,超过则回车换行;
2、删除文章中的'/n'
通义千问生成的代码如下:

import os

def pad_line(line, length=2048):
    """ 如果行长度不足length,则用空格填充 """
    return line.ljust(length)

def split_and_pad_line(line, length=2048):
    """ 将一行拆分成多行,每行不超过2048个字符,并填充空格 """
    lines = []
    while len(line) > length:
        lines.append(pad_line(line[:length]))
        line = line[length:]
    if line:
        lines.append(pad_line(line))
    return lines

def process_file(input_file_path, output_folder):
    """ 处理单个文件,使其每行都是2048个字符,并保存到输出文件夹 """
    # 读取文件内容
    with open(input_file_path, 'r', encoding='utf-8') as file:
        content = file.read()  # 一次性读取整个文件内容

    # 删除 \n 并处理每一行
    lines = content.replace('\n', '').split('\n')
    processed_lines = []
    for line in lines:
        processed_lines.extend(split_and_pad_line(line))

    # 构建输出文件路径
    relative_path = os.path.relpath(input_file_path, start=os.path.dirname(input_file_path))
    output_file_path = os.path.join(output_folder, relative_path)

    # 创建必要的目录结构
    os.makedirs(os.path.dirname(output_file_path), exist_ok=True)

    # 写入处理后的内容
    with open(output_file_path, 'w', encoding='utf-8') as file:
        file.write('\n'.join(processed_lines))

    print(f"Processed {input_file_path} -> {output_file_path}")

def process_folder(input_folder, output_folder):
    """ 遍历文件夹并处理所有 .txt 文件,保存到输出文件夹 """
    for root, dirs, files in os.walk(input_folder):
        for filename in files:
            if filename.endswith('.txt'):
                input_file_path = os.path.join(root, filename)
                process_file(input_file_path, output_folder)

# 使用示例
input_folder = 'path/to/input/folder'  # 替换为你的输入文件夹路径
output_folder = 'path/to/output/folder'  # 替换为你的输出文件夹路径

# 确保输出文件夹存在
os.makedirs(output_folder, exist_ok=True)

# 执行处理
process_folder(input_folder, output_folder)

实际运行后,只是将txt文档复制到一个新的文件夹中,但是文档格式并未修改,其中部分行还是超过2048字符

展开
收起
游客trbo2qxocne6w 2024-09-24 22:43:16 38 0
0 条回答
写回答
取消 提交回答

基于通义大模型的 AI 编程智能体,可以自主执行任务拆解、代码编写、缺陷修复、测试等编程相关任务,与开发者高效协同,带来智能化的人机交互研发体验。

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载