鱼C论坛

 找回密码
 立即注册
查看: 1705|回复: 4

[已解决]关于文件路径的问题

[复制链接]
发表于 2021-4-17 11:16:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 白本羽 于 2021-4-17 11:20 编辑
  1. def compare(file_name1,file_name2):
  2.     f1 = open('file_name1')
  3.     f2 = open('file_name2')
  4.     list1 = []
  5.     list2 = []
  6.     list3 = []
  7.     for each_line in f1:                                 #将f1中的行以元素存到列表list1中
  8.         list1.append(each_line)
  9.     for each in f2:                                        #将f2中的行以元素存到列表list2中
  10.         list2.append(each)
  11.     num = 0
  12.     for i in range(len(list1)):                          #比较元素是否相同,并记录不同的行数和不同的次数在list3中
  13.         if list1[i] == list2[i]:
  14.             continue
  15.         else:
  16.             list3.append(i)
  17.             num += 1
  18.     print('两个文件共有%s个不同' % num)
  19.     for i in list3:
  20.         print('第%s行不一样\n' % i)


  21. file_name1 = input('请输入第一个需要比较的文件名:')
  22. file_name2 = input('请输入另一个需要比较的文件名:')
  23. compare(file_name1,file_name2)
复制代码

不管我输入E:\\1.txt,E:\\2.txt,还是直接1.txt,2.txt,都会报同一个错误
FileNotFoundError: [Errno 2] No such file or directory: 'file_name1'
但是我的文件已经创建好了,路径也没错

顺便还有一个问题:
用open直接打开一个尚未生成的文本文件(不带路径),它的路径在哪?
最佳答案
2021-4-17 15:48:09
  1. def compare(file_name1,file_name2):
  2.     f1 = open(file_name1)
  3.     f2 = open(file_name2)
  4.     list1 = []
  5.     list2 = []
  6.     list3 = []
  7.     for each_line in f1:                                 #将f1中的行以元素存到列表list1中
  8.         list1.append(each_line)
  9.     for each in f2:                                        #将f2中的行以元素存到列表list2中
  10.         list2.append(each)
  11.     num = 0
  12.     for i in range(len(list1)):                          #比较元素是否相同,并记录不同的行数和不同的次数在list3中
  13.         if list1[i] == list2[i]:
  14.             continue
  15.         else:
  16.             list3.append(i)
  17.             num += 1
  18.     print('两个文件共有%s个不同' % num)
  19.     for i in list3:
  20.         print('第%s行不一样\n' % i)


  21. file_name1 = input('请输入第一个需要比较的文件名:')
  22. file_name2 = input('请输入另一个需要比较的文件名:')
  23. compare(file_name1,file_name2)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-17 11:31:04 | 显示全部楼层
转义了吧
把 \ 改成 / 试试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-17 11:31:24 From FishC Mobile | 显示全部楼层
第2、3行,括号里参数不要加引号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2021-4-17 15:48:09 | 显示全部楼层    本楼为最佳答案   
  1. def compare(file_name1,file_name2):
  2.     f1 = open(file_name1)
  3.     f2 = open(file_name2)
  4.     list1 = []
  5.     list2 = []
  6.     list3 = []
  7.     for each_line in f1:                                 #将f1中的行以元素存到列表list1中
  8.         list1.append(each_line)
  9.     for each in f2:                                        #将f2中的行以元素存到列表list2中
  10.         list2.append(each)
  11.     num = 0
  12.     for i in range(len(list1)):                          #比较元素是否相同,并记录不同的行数和不同的次数在list3中
  13.         if list1[i] == list2[i]:
  14.             continue
  15.         else:
  16.             list3.append(i)
  17.             num += 1
  18.     print('两个文件共有%s个不同' % num)
  19.     for i in list3:
  20.         print('第%s行不一样\n' % i)


  21. file_name1 = input('请输入第一个需要比较的文件名:')
  22. file_name2 = input('请输入另一个需要比较的文件名:')
  23. compare(file_name1,file_name2)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-4-17 16:12:39 | 显示全部楼层
楼上已经说对了,
第2、3行,括号里参数不要加引号


得分清 函数的形参,和 实参 。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-23 15:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表