圆嘟嘟 发表于 2020-11-3 15:07:58

python 零基础029 为什么会报错

def file_compare(file_name1,file_name2):
    f1 = open(file_name1)
    f2 = open(file_name2)
    count = 0
    differ = []

   
    for line1 in f1:
      line2 = f2.readline()
      count += 1
      if line1 != line2 :
            differ.append(count)
            
    f1.close()
    f2.close()

    return differ


file_name1= input ('请输入需要比较的头一个文件名:')
file_name2 = input ('请输入需要比较的另一个文件名:')

differ = file_compare(file_name1,file_name2)

if len(differ)==0:

    print ('两个文件相同')
else:
    print('两个文件共有【%d】处不同:%len(differ)')
    for each in differ :
          print ('第%d行不一样'%each)









疾风怪盗 发表于 2020-11-3 15:08:26

文件后缀,加了么?

sunrise085 发表于 2020-11-3 16:16:37

很明显嘛
没有找到文件名为222的文件
你看看是不是没有写文件后缀?
222是什么文件?后缀是什么?
若是txt的话,应该写成222.txt

qin_yin 发表于 2020-11-3 16:29:24

上面的报错意思没有找到这个文件,注意文件名是否正确,后缀名不能省略

圆嘟嘟 发表于 2020-11-4 19:39:19

本帖最后由 圆嘟嘟 于 2020-11-4 19:50 编辑

这个是加上后缀的为啥还有错误呢{:5_96:}

疾风怪盗 发表于 2020-11-4 21:43:20

圆嘟嘟 发表于 2020-11-4 19:39
这个是加上后缀的为啥还有错误呢

一个加encoding试试
还一个读写doc么,还是用 python-docx 吧

圆嘟嘟 发表于 2020-11-6 22:25:09

疾风怪盗 发表于 2020-11-4 21:43
一个加encoding试试
还一个读写doc么,还是用 python-docx 吧

我想请问一下,可以说清楚点吗,刚接触python,有点蒙蒙的……^_^……麻烦啦

疾风怪盗 发表于 2020-11-6 22:33:34

圆嘟嘟 发表于 2020-11-4 19:39
这个是加上后缀的为啥还有错误呢

你问的这个问题,报错提示就是编码问题,所以加个参数encoding='utf-8'试试

然后你要操作doc文档,一般用第三方库python-docx 会更好一点
一般open就是最简单的txt之类的

圆嘟嘟 发表于 2020-11-8 12:41:25

疾风怪盗 发表于 2020-11-6 22:33
你问的这个问题,报错提示就是编码问题,所以加个参数encoding='utf-8'试试

然后你要操作doc文档,一 ...

.txt   文档就可以运行啦,谢谢大佬,灰常感谢
页: [1]
查看完整版本: python 零基础029 为什么会报错