2041_22T2.Q6

写一个python脚本接受两个文件名参数,先对比两个文件中的总行数,如果不同则报错退出,如果相同则翻转第二个文件后逐行对比,如果发现不同则输出其第一个文件的行号。

也不需要想队列和堆,直接list然后反转后遍历。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/usr/bin/env python3

import sys

file1_name = sys.argv[1]
file2_name = sys.argv[2]
file1 = []
file2 = []
with open(file1_name) as f1:
for line in f1:
if not line:
continue
file1.append(line.strip())
with open(file2_name) as f2:
for line in f2:
if not line:
continue
file2.append(line.strip())

if len(file1) != len(file2) :
print(f"Not mirrored: different number of lines: {len(file1)} versus {len(file2)}")
sys.exit(0)

file2=file2[::-1]

for i in range(len(file1)):
if file1[i] != file2[i]:
print(f"Not mirrored: line {i+1} different")
sys.exit(0)

print("Mirrored")