0基础Python_029_01习题
我的:
file1 = input('请输入需要比较的头一个文件名:')
file2 = input('请输入需要比较的另一个文件名:')
f1 = open('E:\\2021 Tasks\\01_Python\\02_习题\\029\\' + file1 )
f2 = open('E:\\2021 Tasks\\01_Python\\02_习题\\029\\' + file2 )
k = 0
for i in range(len(f1.readlines())):
f1.close()
f1 = open('E:\\2021 Tasks\\01_Python\\02_习题\\029\\' + file1 )
if f1.readlines() != f2.readlines():
k += 1
print("两个文件共有【", k ,"】处不同:")
print("第", i ,"行不一样")
报错:
File "e:/2021 Tasks/01_Python/02_习题/029_01.py", line 12, in <module>
if f1.readlines() != f2.readlines():
IndexError: list index out of range
不太理解为啥报错:
f1.readlines()返回一个列表
f1.readlines()[ i ] 返回列表中的第 i 个元素
用 if f1.readlines() != f2.readlines(): 做判断,然后返回需要的结果,不是挺好嘛?
为啥实际上f1.readlines()[ i ]好像是按照字符串来返回的?
索引是从0开始索引的
len(f1.readlines())是一开始计数的
报错也是列表索引超出范围
所以试试吧
for i in range(len(f1.readlines())):
改成
for i in range(len(f1.readlines())减1): 为啥f1要先colse?
页:
[1]