帮我写一个python脚本,读取若干个文件,同时遍历这些文件,提取出每个文件都一样的部分,打印出来
时间: 2024-10-27 10:03:58 浏览: 10
分享一个简单的python读写文件脚本
当然可以。首先,你需要安装` difflib `库,它包含了用于比较文本内容的模块。如果你还没有安装,可以使用下面的命令安装:
```bash
pip install difflib
```
接下来是一个简单的Python脚本,它使用`difflib`库中的`Differ`类来找出多个文件之间相同的行:
```python
import os
import difflib
def find_common_content(file_list):
# 使用 difflib.Differ 进行差异比较
differ = difflib.Differ()
# 打开第一个文件作为基准
with open(file_list[0], 'r') as file1:
base_lines = list(file1)
common_lines = []
for file_path in file_list[1:]:
# 逐行读取其他文件
with open(file_path, 'r') as file2:
other_lines = list(file2)
# 比较两个文件的每一行
diff = list(differ.compare(base_lines, other_lines))
common_lines.extend(line for line in diff if line.startswith('+'))
# 打印所有相同的行
print("\nCommon lines among files:")
for line in common_lines:
print(line.strip())
# 要使用的文件列表
file_list = ['file1.txt', 'file2.txt', 'file3.txt'] # 替换为你要处理的实际文件路径
find_common_content(file_list)
```
这个脚本会打印出所有文件中共同的内容。请注意,这里的`+`表示第二份文件中有而第一份文件中没有的行。
阅读全文