請你幫我修改,我只需要匯總每個文檔的最後一行import os import datetime import time # 原文件夹路径和目标文件夹路径 src_path = r"Z:\看板v2" dst_path = r"\pcq-smt-ftp01\smt$\CQ SMT-單板測試課\6.制程組--Junliang\看板源數據\治具NTF" while True: # 获取今天日期,并格式化成指定的形式 today = datetime.date.today() formatted_today = today.strftime("%Y%m%d") # 构造目标文件的完整路径 dst_file = os.path.join(dst_path, f"當天測試log.txt") # 记录程序开始运行时间 start_time = time.time() # 遍历原文件夹,查找当天日期的 TXT 文件 txt_files = [] for root, dirs, files in os.walk(src_path): for file in files: if file.endswith(".txt") and file.startswith(formatted_today): txt_files.append(os.path.join(root, file)) # 如果找到符合条件的 TXT 文件,则将它们合并到目标文件中 if len(txt_files) > 0: with open(dst_file, "w", encoding="utf-8") as f: for src_file in txt_files: # 读取 TXT 文件的内容,并写入目标文件中 with open(src_file, "r", encoding="utf-8") as txt_file: content = txt_file.read() f.write(content) print(f"{len(txt_files)} 个符合条件的 TXT 文件已成功合并到目标文件 當天測試log.txt 中!") else: print("未找到符合条件的 TXT 文件!") # 计算程序运行时间 end_time = time.time() run_time = end_time - start_time now = datetime.datetime.now() # 输出程序运行时间 print(f"程序运行时间:{run_time:.2f} 秒 {now.strftime('%Y-%m-%d %H:%M:%S')}") # 暂停15秒钟 time.sleep(15)
时间: 2024-02-06 08:11:16 浏览: 134
好的,以下是修改后的代码,只匯總每个文档的最后一行:
```python
import os
import datetime
import time
# 原文件夹路径和目标文件夹路径
src_path = r"Z:\看板v2"
dst_path = r"\pcq-smt-ftp01\smt$\CQ SMT-單板測試課\6.制程組--Junliang\看板源數據\治具NTF"
while True:
# 获取今天日期,并格式化成指定的形式
today = datetime.date.today()
formatted_today = today.strftime("%Y%m%d")
# 构造目标文件的完整路径
dst_file = os.path.join(dst_path, f"當天測試log.txt")
# 记录程序开始运行时间
start_time = time.time()
# 遍历原文件夹,查找当天日期的 TXT 文件
file_contents = []
for root, dirs, files in os.walk(src_path):
for file in files:
if file.endswith(".txt") and file.startswith(formatted_today):
file_path = os.path.join(root, file)
with open(file_path, "r", encoding="utf-8") as txt_file:
# 只保留最后一行
last_line = None
for line in txt_file:
last_line = line.strip()
if last_line:
# 将文件名和最后一行内容用逗号分隔,并写入列表
file_contents.append(file + ',' + last_line)
# 如果找到符合条件的 TXT 文件,则将它们的最后一行合并到目标文件中
if len(file_contents) > 0:
with open(dst_file, "w", encoding="utf-8") as f:
# 将列表中的数据使用换行符连接成字符串,并写入文件
f.write('\n'.join(file_contents))
print(f"{len(file_contents)} 个符合条件的 TXT 文件的最后一行已成功合并到目标文件 當天測試log.txt 中!")
else:
print("未找到符合条件的 TXT 文件!")
# 计算程序运行时间
end_time = time.time()
run_time = end_time - start_time
now = datetime.datetime.now()
# 输出程序运行时间
print(f"程序运行时间:{run_time:.2f} 秒 {now.strftime('%Y-%m-%d %H:%M:%S')}")
# 暂停15秒钟
time.sleep(15)
```
修改后的代码在遍历文件夹的过程中,新增了一个 `file_contents` 列表,用于存储每个文档的最后一行。在程序运行结束后,将所有文档的最后一行连接起来,并写入目标文档中。同时,也在输出信息中将匯總的文档数量改为匯總的文档最后一行的数量。
阅读全文