python合并多个txt文件
时间: 2023-08-04 21:07:02 浏览: 92
可以通过以下代码实现将多个txt文件合并成一个文件:
```python
import os
# 定义合并文件的路径和名称
output_file = "./merged_file.txt"
# 遍历文件夹,找到所有的txt文件
txt_files = []
for root, dirs, files in os.walk("./"):
for file in files:
if file.endswith(".txt"):
txt_files.append(os.path.join(root, file))
# 合并文件
with open(output_file, "w", encoding="utf-8") as outfile:
for txt_file in txt_files:
with open(txt_file, "r", encoding="utf-8") as infile:
outfile.write(infile.read())
```
首先定义输出文件的路径和名称,然后通过os.walk遍历文件夹,找到所有的txt文件。最后使用with语句打开文件进行读写操作,将每个文件的内容写入到输出文件中即可。
相关问题
python 合并多个txt文件
可以使用以下代码来合并多个txt文件:
```python
import glob
# 获取所有txt文件的路径
txt_files = glob.glob("*.txt")
# 打开输出文件
with open("output.txt", "w") as outfile:
# 循环遍历所有txt文件,并将其内容写入输出文件
for file in txt_files:
with open(file, "r") as infile:
outfile.write(infile.read())
```
以上代码首先使用 `glob` 模块获取当前目录下所有的 txt 文件路径,然后循环遍历每个文件,将其内容写入一个输出文件中。请确保在运行代码之前,将所有要合并的 txt 文件放置在同一目录下。
python合并多个txt文件并保存txt文件名称
### 回答1:
可以通过以下代码实现:
```python
import os
# 获取所有txt文件的路径
txt_files = [f for f in os.listdir() if f.endswith('.txt')]
# 合并并保存文件
with open('merged_files.txt', 'w') as merged_file:
for file_path in txt_files:
with open(file_path, 'r') as f:
content = f.read()
merged_file.write(f'---{file_path}---\n')
merged_file.write(content)
```
这段代码会将当前目录下所有以`.txt`结尾的文件合并,并在合并后的文件中添加每个文件的文件名作为分隔符。最终合并后的文件名为`merged_files.txt`。
### 回答2:
要合并多个txt文件并保存txt文件名称,我们可以使用Python的文件操作方法来实现。
首先,我们需要确定要合并的txt文件的目录。假设这些文件都存储在同一个文件夹下,并且我们将其命名为"txt_files"。
然后,我们可以使用os模块的listdir函数来获取该目录下所有的文件名。我们将这些文件名保存到一个列表中,以供后续使用。
接下来,我们可以使用Python的文件操作方法来逐个打开每个txt文件,并读取其中的内容。可以使用with关键字来确保文件的正确关闭。我们将每个文件的内容添加到一个字符串变量中,并在每个文件内容之间添加一个换行符。
最后,我们可以使用Python的文件操作方法来创建一个新的txt文件,并将合并后的内容写入该文件中。为了保存每个原始txt文件的名称,我们可以在合并后的内容中添加一个标识符,用于指示每个文件的开始。
下面是具体的Python代码实现:
```
import os
# 获取txt文件目录
folder_path = "txt_files"
# 保存合并后的文件内容
merged_content = ""
# 获取目录下所有txt文件的文件名
file_names = os.listdir(folder_path)
# 逐个打开txt文件并读取内容
for file_name in file_names:
file_path = os.path.join(folder_path, file_name)
with open(file_path, 'r') as file:
txt_content = file.read()
# 将每个文件的内容添加到merged_content变量中,并在每个文件内容之间添加换行符
merged_content += f"--- {file_name} ---\n{txt_content}\n\n"
# 创建新的txt文件并写入合并后的内容
merged_file_path = "merged_file.txt"
with open(merged_file_path, 'w') as merged_file:
merged_file.write(merged_content)
print("合并完成!合并后的内容保存在merged_file.txt文件中。")
```
此代码将在同级目录下创建一个名为"merged_file.txt"的新文件,其中包含了所有要合并的txt文件的内容,每个文件的开始都有一个标识符指示其名称。
### 回答3:
Python可以通过使用文件处理和字符串处理的功能来合并多个txt文件并保存txt文件名称。
首先,我们需要使用Python的文件处理功能来打开和读取每个txt文件。我们可以使用`open()`函数来打开每个文件,并使用`.read()`方法来读取文件内容。然后,我们可以使用字符串处理功能来将每个文件的内容保存到一个字符串变量中。
接下来,我们可以使用字符串处理的功能来保存每个txt文件的名称。我们可以使用`split()`函数将文件路径分解为文件夹路径和文件名,然后使用`os.path.basename()`函数来获取文件名。我们可以将每个文件名保存到一个列表中。
最后,我们可以使用Python的文件处理功能来创建一个新的txt文件,并将我们所保存的所有文件内容全部写入到这个文件中。我们可以使用`open()`函数创建一个新的txt文件,并使用`.write()`方法将之前保存的合并内容写入到文件中。同时,我们也可以使用之前保存的文件名列表来创建一个新的txt文件来保存每个txt文件的名称。
下面是一个示例的代码,展示了如何实现合并多个txt文件并保存txt文件名称。
``` python
import os
# 合并多个txt文件
txt_files = ['file1.txt', 'file2.txt', 'file3.txt'] # txt文件列表
merged_content = '' # 保存合并后的内容
for file in txt_files:
with open(file, 'r') as f:
content = f.read()
merged_content += content
# 保存合并后的txt文件
merged_file = 'merged.txt'
with open(merged_file, 'w') as f:
f.write(merged_content)
# 保存txt文件名称
file_names = []
for file in txt_files:
file_name = os.path.basename(file)
file_names.append(file_name)
# 保存txt文件名称到新的txt文件
name_file = 'file_names.txt'
with open(name_file, 'w') as f:
for name in file_names:
f.write(name + '\n')
```
使用上述代码,我们将会合并`file1.txt`,`file2.txt`和`file3.txt`的内容,并将合并的内容保存到`merged.txt`文件中。同时,我们也将保存每个txt文件的名称到`file_names.txt`文件中。