pyton 获取目录下的所有txt 依次合并交叉合并一样的行数 多余的追加到另外一个
时间: 2024-05-14 22:16:42 浏览: 58
可以使用Python的os和re模块来完成这个任务。以下是示例代码:
```python
import os
import re
# 获取当前目录下所有的txt文件路径
txt_files = [os.path.join(".", f) for f in os.listdir(".") if f.endswith(".txt")]
# 逐个打开文件并读取内容
contents = []
for txt_file in txt_files:
with open(txt_file, "r", encoding="utf-8") as f:
content = f.read()
contents.append(content)
# 合并交叉合并一样的行数,并追加到新文件
merged_lines = []
for lines in zip(*[content.splitlines() for content in contents]):
if all(line == lines[0] for line in lines):
merged_lines.append(lines[0])
else:
merged_lines.extend(lines)
with open("merged.txt", "a", encoding="utf-8") as f:
f.write("\n".join(merged_lines))
```
这段代码首先通过os模块获取当前目录下所有以txt结尾的文件的路径,然后逐个打开文件并读取内容。接着,它将所有文件的内容交错合并,并将相同行的内容合并为一行。最后,将合并后的内容追加到名为"merged.txt"的文件中。
阅读全文