不對,我需要將所有的txt文件内容匯總在一個txt文件中import os import shutil import datetime source_folder = r"Y:\iplas\Robot_Log\SMT" destination_folder = "D:\測試log" today = datetime.date.today() for file_name in os.listdir(source_folder): if file_name.endswith(".txt") and datetime.date.fromtimestamp(os.path.getmtime(os.path.join(source_folder, file_name))) == today: shutil.copy(os.path.join(source_folder, file_name), os.path.join(destination_folder, file_name)) import os destination_folder = "D:\測試log" txt_file = os.path.join(destination_folder, "all_files.txt") with open(txt_file, "w") as f: for file_name in os.listdir(destination_folder): f.write(file_name + "\n")
时间: 2024-01-27 17:03:35 浏览: 114
这段代码可以将指定文件夹下今天修改过的所有txt文件复制到另一个文件夹中,并将它们的文件名写入一个名为"all_files.txt"的txt文件中。
但是,这并不是将所有txt文件内容合并到一个txt文件中。如果你想将所有txt文件的内容合并到一个txt文件中,你需要使用类似于以下代码的方法:
```python
import os
source_folder = r"path\to\folder\with\text\files"
output_file = r"path\to\output\file.txt"
with open(output_file, "w", encoding="utf-8") as outfile:
for filename in os.listdir(source_folder):
if filename.endswith(".txt"):
with open(os.path.join(source_folder, filename), "r", encoding="utf-8") as infile:
outfile.write(infile.read())
```
这段代码将指定文件夹下所有txt文件的内容合并到一个名为"output_file.txt"的txt文件中。
相关问题
請你幫我加一段代碼,需要實現所有複製的文件匯總在一個txt文件中import os import shutil import datetime source_folder = r"Y:\iplas\Robot_Log\SMT" destination_folder = "D:\測試log" today = datetime.date.today() for file_name in os.listdir(source_folder): if file_name.endswith(".txt") and datetime.date.fromtimestamp(os.path.getmtime(os.path.join(source_folder, file_name))) == today: shutil.copy(os.path.join(source_folder, file_name), os.path.join(destination_folder, file_name))
當所有檔案複製完成後,我們可以使用以下代碼將所有檔案名稱匯總到一個 txt 檔案中:
```python
import os
destination_folder = "D:\測試log"
txt_file = os.path.join(destination_folder, "all_files.txt")
with open(txt_file, "w") as f:
for file_name in os.listdir(destination_folder):
f.write(file_name + "\n")
```
這段代碼會在 `destination_folder` 目錄下建立一個名稱為 `all_files.txt` 的 txt 檔案,並將複製過去的所有檔案名稱都寫入該檔案中。
如下代碼沒有將我複製的文檔匯總在一個文檔中,請修改.import os import shutil from datetime import date # 指定目标文件夹路径和本地路径 src_folder = r"Y:\iplas\Robot_Log\SMT" dst_folder = "D:\測試log" # 获取今天的日期 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', encoding='gbk') 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', encoding='gbk') as t: f.write(t.read())
您可以尝试如下代码,用一个列表 `file_contents` 来存储每个 `.txt` 文件的内容,最后将其一起写入到汇总文档中。
```
import os
import shutil
from datetime import date
# 指定目标文件夹路径和本地路径
src_folder = r"Y:\iplas\Robot_Log\SMT"
dst_folder = "D:\測試log"
# 获取今天的日期
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 文件的内容存储到列表中
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('汇总文档.txt', 'w', encoding='gbk') as f:
f.write('\n\n'.join(file_contents))
```
这里使用了 `join` 方法,将每个文件的内容用两个换行符分隔开,防止多个文件的内容合并在一起造成混淆。
阅读全文