python如何比较两个txt文件如果行内容相同则删除这一行
时间: 2023-08-15 19:04:04 浏览: 323
要比较两个文本文件并删除相同内容的行,可以按照以下步骤进行操作:
1. 打开第一个文本文件,并将其内容读取到一个列表中。可以使用`readlines()`方法来逐行读取文件内容,并将每一行作为列表中的一个元素。
```python
with open('file1.txt', 'r') as file1:
lines1 = file1.readlines()
```
2. 打开第二个文本文件,并将其内容读取到另一个列表中。
```python
with open('file2.txt', 'r') as file2:
lines2 = file2.readlines()
```
3. 创建一个新的列表,用于存储不同内容的行。
```python
new_lines = []
```
4. 遍历第一个列表中的每一行,检查是否在第二个列表中存在相同的行。如果不存在,则将该行添加到新的列表中。
```python
for line1 in lines1:
if line1 not in lines2:
new_lines.append(line1)
```
5. 将新的列表中的内容写入一个新的文本文件。
```python
with open('new_file.txt', 'w') as new_file:
new_file.writelines(new_lines)
```
完整的代码如下所示:
```python
with open('file1.txt', 'r') as file1:
lines1 = file1.readlines()
with open('file2.txt', 'r') as file2:
lines2 = file2.readlines()
new_lines = []
for line1 in lines1:
if line1 not in lines2:
new_lines.append(line1)
with open('new_file.txt', 'w') as new_file:
new_file.writelines(new_lines)
```
请注意,这个方法仅删除了相同内容的行,而不考虑行的顺序。如果您需要考虑行的顺序,请相应调整代码。
阅读全文