python獲取一個路徑中多級文件夾内的TXT文件,將文件的文件名寫入相應的文件内容每行的後面用逗號區分,并將這些文件合并為一個TXT文件放到其他路徑中,并將文件中亂碼修改為正常文本的完整代碼
时间: 2024-05-15 11:14:24 浏览: 46
Python实现办公自动化-自动化管理电脑文件及文件夹
以下是Python代码实现:
```python
import os
# 指定要搜索的目录
search_dir = "/path/to/search/directory"
# 指定要保存结果的文件路径
result_path = "/path/to/result/file.txt"
# 遍历目录及其子目录下的所有txt文件
file_list = []
for root, dirs, files in os.walk(search_dir):
for file in files:
if file.endswith(".txt"):
file_list.append(os.path.join(root, file))
# 将文件名写入相应的文件内容每行的后面用逗号区分
for file_path in file_list:
with open(file_path, "r", encoding="utf-8") as f:
lines = f.readlines()
new_lines = [line.strip() + "," + os.path.basename(file_path) + "\n" for line in lines]
with open(file_path, "w", encoding="utf-8") as f:
f.writelines(new_lines)
# 将所有文件合并为一个txt文件并保存到指定路径
with open(result_path, "w", encoding="utf-8") as result_file:
for file_path in file_list:
with open(file_path, "r", encoding="utf-8") as f:
lines = f.readlines()
result_file.writelines(lines)
# 将文件中乱码修改为正常文本的完整代码
with open(result_path, "r+", encoding="utf-8") as result_file:
content = result_file.read()
content = content.encode('utf-8').decode('unicode_escape')
result_file.seek(0)
result_file.write(content)
result_file.truncate()
```
代码实现的具体步骤如下:
1. 首先指定要搜索的目录和要保存结果的文件路径;
2. 遍历目录及其子目录下的所有txt文件,并将它们的文件路径存储在一个列表中;
3. 对于每个txt文件,将文件名写入相应的文件内容每行的后面用逗号区分;
4. 将所有文件合并为一个txt文件并保存到指定路径;
5. 将合并后的文件中的乱码修改为正常文本的完整代码。
注意,在对文件进行操作时,需要指定文件的编码格式,这里使用的是utf-8。
阅读全文