python如何合并文件夹中所有txt并在txt内容中每一行前加上txt名字
时间: 2023-06-23 17:55:39 浏览: 139
可以使用Python中的os和shutil模块来实现。具体步骤如下:
1. 遍历文件夹中所有txt文件,获取它们的文件名和路径。
2. 创建一个新的txt文件,用于保存合并后的结果。
3. 循环遍历每个txt文件,读取其内容,并在每一行前加上文件名。
4. 将加上文件名的内容写入新的txt文件中。
代码实现如下:
```python
import os
import shutil
# 遍历文件夹中所有txt文件
def get_txt_files(path):
txt_files = []
for root, dirs, files in os.walk(path):
for file in files:
if file.endswith('.txt'):
txt_files.append(os.path.join(root, file))
return txt_files
# 合并txt文件并在每行前加上文件名
def merge_txt_files(txt_files, output_file):
with open(output_file, 'w', encoding='utf-8') as f:
for file in txt_files:
with open(file, 'r', encoding='utf-8') as tf:
for line in tf:
f.write(os.path.basename(file) + ' ' + line)
# 测试
if __name__ == '__main__':
path = 'your_folder_path'
output_file = 'merged.txt'
txt_files = get_txt_files(path)
merge_txt_files(txt_files, output_file)
```
其中,将`your_folder_path`替换为要合并的文件夹路径即可。执行代码后,会在相同路径下生成一个名为`merged.txt`的文件,里面包含了所有txt文件的内容,并在每一行前加上了文件名。
阅读全文