使用豆包生成txt文档合并工具
使用豆包生成txt文档合并工具提示词:
帮我生成一个txt文档合并工具,功能要求如下:
1.使用python语言;
2.将当前目录下的所有txt格式的文档合并成一个txt文档,并在每个文档内容之前插入分隔符和原文件名;
3.要能处理不同编码的txt文件,如utf8、ansi编码等。
依赖库:
pip install chardet
代码:
import os
import chardet
def merge_txt_files():
# 定义分隔符
separator = "=" * 80
# 获取当前目录
current_directory = os.getcwd()
# 初始化一个空列表来存储所有 txt 文件的路径
txt_files = []
# 遍历当前目录下的所有文件
for filename in os.listdir(current_directory):
if filename.endswith('.txt'):
txt_files.append(os.path.join(current_directory, filename))
# 按文件名排序
txt_files.sort()
# 打开一个新的文件用于写入合并后的内容
with open('merged.txt', 'w', encoding='utf-8') as outfile:
for txt_file in txt_files:
# 获取文件名
base_name = os.path.basename(txt_file)
# 写入分隔符和文件名
outfile.write(f"{separator}\n")
outfile.write(f"文件名: {base_name}\n")
outfile.write(f"{separator}\n")
try:
# 以二进制模式打开文件,检测编码
with open(txt_file, 'rb') as raw_file:
raw_data = raw_file.read()
result = chardet.detect(raw_data)
encoding = result['encoding']
# 以检测到的编码打开文件并读取内容
with open(txt_file, 'r', encoding=encoding) as infile:
content = infile.read()
# 写入当前文件的内容
outfile.write(content)
# 写入换行符以分隔不同文件的内容
outfile.write('\n')
except Exception as e:
print(f"读取文件 {txt_file} 时出错: {e}")
if __name__ == "__main__":
merge_txt_files()
页:
[1]