輸出我只需要保留2位小數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("程序执行时间:", run_time)
时间: 2023-12-12 11:05:46 浏览: 85
可以在写入文件时使用 Python 的格式化字符串来保留两位小数。修改最后一个 with 语句如下:
```python
with open(os.path.join(dst_folder, '汇总文档.txt'), 'w', encoding='gbk') as f:
f.write('\n\n'.join([f'{float(line):.2f}' for line in file_contents]))
```
这样会将 `file_contents` 列表中的每一行转为浮点数,并使用格式化字符串保留两位小数,最后将转换后的字符串列表用 `\n\n` 连接起来写入文件。
相关问题
請你幫我加一行代碼,我將匯總的TXT文件再複製到另外的路徑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} 秒")
這裡是代碼,可以將匯總的TXT文件複製到另一個文件夾中後,再將其複製到指定路徑下:
```python
import os
import shutil
from datetime import date
import time
#指定目标文件夹路径和本地路径
src_folder = r"Y:\iplas\Robot_Log\SMT"
dst_folder = "D:\測試log"
temp_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(temp_folder, file_name))
#遍历本地路径中的所有文件
file_contents = []
for file_name in os.listdir(temp_folder):
if file_name.endswith('.txt'):
with open(os.path.join(temp_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))
#將匯總的TXT文件再複製到另外的路徑
for file_name in os.listdir(temp_folder):
if file_name.endswith('.txt'):
shutil.copy(os.path.join(temp_folder, file_name), os.path.join(dst_folder, file_name))
#刪除暫存文件夾
shutil.rmtree(temp_folder)
#获取程序结束时间,计算程序运行时间
end_time = time.time()
run_time = end_time - start_time
print(f"程序运行时间:{run_time:.2f} 秒")
```
這個代碼將匯總的TXT文件複製到 "D:\測試log" 下後,再將其複製到指定路徑下,並且在完成後刪除了暫存文件夾。
代碼報錯,請重新修改import os import shutil from datetime import date # 指定目标文件夹路径和本地路径 src_folder = '目标文件夹路径' dst_folder = '本地路径' # 获取今天的日期 today = date.today() # 遍历目标文件夹中的所有文件 for file_name in os.listdir(src_folder): if file_name.endswith('.txt') and os.path.getmtime(os.path.join(src_folder, file_name)).date() == today: # 如果是今天生成的 txt 文件,复制到本地路径 shutil.copy(os.path.join(src_folder, file_name), os.path.join(dst_folder, file_name)) # 将本地路径中所有 txt 文件的内容汇总到一个文档 with open('汇总文档.txt', 'w') as f: for file_name in os.listdir(dst_folder): if file_name.endswith('.txt'): with open(os.path.join(dst_folder, file_name), 'r') as t: f.write(t.read())
这段代码有一些问题,可能导致代码运行出错。我给你修改一下:
```python
import os
import shutil
from datetime import date
# 指定目标文件夹路径和本地路径
src_folder = '目标文件夹路径'
dst_folder = '本地路径'
# 获取今天的日期
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:
# 如果是今天生成的 txt 文件,复制到本地路径
shutil.copy(file_path, os.path.join(dst_folder, file_name))
# 将本地路径中所有 txt 文件的内容汇总到一个文档
with open('汇总文档.txt', 'w') as f:
for file_name in os.listdir(dst_folder):
if file_name.endswith('.txt'):
with open(os.path.join(dst_folder, file_name), 'r') as t:
f.write(t.read())
```
主要修改如下:
1. 在检查文件是否是今天生成的时,使用 `date.fromtimestamp` 方法将文件的修改时间转换为日期格式。
2. 在处理文件路径时,使用 `os.path.join` 方法拼接路径,避免路径拼接不正确的问题。
阅读全文