1.题目
遍历4K_phone和4K_VR目录下的所有txt文件,并将它们的内容合并到一个名为4k_decoding.txt的文件中。
但是,假设你有一个名为another_script.py的Python文件,你想在合并txt文件之前执行它生成要处理的txt文档。
最后统计完原始的txt文件个数后,删除原始文件。
2. 代码实现
import os
import subprocess
'''
会遍历4K_phone和4K_VR目录下的所有txt文件,
并将它们的内容合并到一个名为4k_decoding.txt的文件中。
可以使用os.listdir()函数和os.path.join()函数来获取指定目录下的所有文件。
'''
'''
你可以使用subprocess模块来调用另一个Python文件。以下是一个示例:
假设你有一个名为 another_script.py的Python文件,你想在合并txt文件之前执行它。
# 调用另一个Python脚本
subprocess.call(['python', 'another_script.py'])
'''
# 调用另一个Python脚本
subprocess.call(['python', './4K_phone/decoding.py'])
subprocess.call(['python', './4K_VR/decoding.py'])
# 定义要搜索的目录
directories = ['4K_phone', '4K_VR']
# 遍历指定目录来统计txt文件的数量,并输出结果
txt_count = 0
for directory in directories:
for file in os.listdir(directory):
if file.endswith('.txt'):
txt_count += 1
# 输出统计结果
print(f'指定目录下总共有{txt_count}个txt文档')
# 创建一个空列表来存储所有的txt文件
all_txt_files = []
# 遍历指定目录
for directory in directories:
for file in os.listdir(directory):
if file.endswith('.txt'):
all_txt_files.append(os.path.join(directory, file))
# 打开输出文件
output_filename = '4k_decoding.txt'
with open(output_filename, 'w') as outfile:
for txt_file in all_txt_files:
with open(txt_file, 'r') as infile:
content = infile.read()
outfile.write(content)
outfile.write('\n')
# 删除原始的txt文件
for txt_file in all_txt_files:
os.remove(txt_file)
# 输出结果
print(f'所有txt文档的内容已合并为{output_filename},原始的txt文件已删除')