import os import shutil from datetime import date import time #指定目标文件夹路径和本地路径 src_folder = r"Y:\iplas\Robot_Log\SMT" dst_folder = "D:\測試log" start_time = time.time() #获取今天的日期 today = date.today() #遍历目标文件夹中的所有文件 for file_name in os.listdir(src_folder): if file_name.endswith('.txt'): file_path = os.path.join(src_folder, file_name) if date.fromtimestamp(os.path.getmtime(file_path)) == today: shutil.copy(file_path, os.path.join(dst_folder, file_name)) #遍历本地路径中的所有文件 file_contents = [] for file_name in os.listdir(dst_folder): if file_name.endswith('.txt'): with open(os.path.join(dst_folder, file_name), 'r', encoding='gbk') as t: file_contents.append(t.read()) #将所有文件的内容写入汇总文档中 with open(os.path.join(dst_folder, '汇总文档.txt'), 'w', encoding='gbk') as f: f.write('\n\n'.join(file_contents)) #获取程序结束时间,计算程序运行时间 end_time = time.time() run_time = end_time - start_time print(f"程序运行时间:{run_time:.2f} 秒")在這個代碼中添加在合并前需要獲取文件名去除後綴,寫入相應文件内容前用逗號分隔循環寫入相應數據的每行
时间: 2023-12-12 15:04:53 浏览: 66
下面是修改后的代码:
```python
import os
import shutil
from datetime import date
import time
# 指定目标文件夹路径和本地路径
src_folder = r"Y:\iplas\Robot_Log\SMT"
dst_folder = "D:\測試log"
start_time = time.time()
# 获取今天的日期
today = date.today()
# 遍历目标文件夹中的所有文件
for file_name in os.listdir(src_folder):
if file_name.endswith('.txt'):
file_path = os.path.join(src_folder, file_name)
if date.fromtimestamp(os.path.getmtime(file_path)) == today:
shutil.copy(file_path, os.path.join(dst_folder, file_name))
# 遍历本地路径中的所有文件
file_contents = []
for file_name in os.listdir(dst_folder):
if file_name.endswith('.txt'):
# 获取文件名(去除后缀)
name = os.path.splitext(file_name)[0]
with open(os.path.join(dst_folder, file_name), 'r', encoding='gbk') as t:
# 将文件名和内容用逗号分隔,并写入列表
file_contents.append(name + ',' + t.read())
# 将所有文件的内容写入汇总文档中
with open(os.path.join(dst_folder, '汇总文档.txt'), 'w', encoding='gbk') as f:
# 将列表中的数据使用换行符连接成字符串,并写入文件
f.write('\n'.join(file_contents))
# 获取程序结束时间,计算程序运行时间
end_time = time.time()
run_time = end_time - start_time
print(f"程序运行时间:{run_time:.2f} 秒")
```
在遍历本地路径中的所有文件时,我们使用 `os.path.splitext()` 函数获取文件名(去除后缀),然后将文件名和内容用逗号分隔,并写入列表。最后,我们使用换行符将列表中的数据连接成字符串,并写入汇总文档中。
阅读全文