关于文件路径的问题
本帖最后由 白本羽 于 2021-4-17 11:20 编辑def compare(file_name1,file_name2):
f1 = open('file_name1')
f2 = open('file_name2')
list1 = []
list2 = []
list3 = []
for each_line in f1: #将f1中的行以元素存到列表list1中
list1.append(each_line)
for each in f2: #将f2中的行以元素存到列表list2中
list2.append(each)
num = 0
for i in range(len(list1)): #比较元素是否相同,并记录不同的行数和不同的次数在list3中
if list1 == list2:
continue
else:
list3.append(i)
num += 1
print('两个文件共有%s个不同' % num)
for i in list3:
print('第%s行不一样\n' % i)
file_name1 = input('请输入第一个需要比较的文件名:')
file_name2 = input('请输入另一个需要比较的文件名:')
compare(file_name1,file_name2)
不管我输入E:\\1.txt,E:\\2.txt,还是直接1.txt,2.txt,都会报同一个错误
FileNotFoundError: No such file or directory: 'file_name1'
但是我的文件已经创建好了,路径也没错
顺便还有一个问题:
用open直接打开一个尚未生成的文本文件(不带路径),它的路径在哪?{:5_99:} {:5_111:} 转义了吧
把 \ 改成 / 试试 第2、3行,括号里参数不要加引号 def compare(file_name1,file_name2):
f1 = open(file_name1)
f2 = open(file_name2)
list1 = []
list2 = []
list3 = []
for each_line in f1: #将f1中的行以元素存到列表list1中
list1.append(each_line)
for each in f2: #将f2中的行以元素存到列表list2中
list2.append(each)
num = 0
for i in range(len(list1)): #比较元素是否相同,并记录不同的行数和不同的次数在list3中
if list1 == list2:
continue
else:
list3.append(i)
num += 1
print('两个文件共有%s个不同' % num)
for i in list3:
print('第%s行不一样\n' % i)
file_name1 = input('请输入第一个需要比较的文件名:')
file_name2 = input('请输入另一个需要比较的文件名:')
compare(file_name1,file_name2)
楼上已经说对了,
第2、3行,括号里参数不要加引号
得分清 函数的形参,和 实参 。
页:
[1]