要求通义千问生成一个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字符
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。