Tihool 发表于 2022-1-21 22:36:31

文件课后习题

count = 0 #计算第几行
lines = [] #记录行数不同
first = input('请输入需要比较的头一个文件名:')
second = input('请输入需要比较的第二个个文件名:')


first_file = open(first,'r')
second_file = open(second,'r')


for i in first_file:
    count += 1 #计算行数,开始即为第一行
    two = second_file.readline()
    if i != two:
      lines.append(count)
if len(lines) >=1:
    print('两个文件共有%d处不同:' % len(lines))
    for each_num in lines:
      print("第%d行不一样!"%each_num)
else:
    print('两个文件内容一样')
first_file.close()
second_file.close()
错误报告
Traceback (most recent call last):
File "F:\python作业库\文件\课后习题.py", line 11, in <module>
    for i in first_file:
UnicodeDecodeError: 'gbk' codec can't decode byte 0xa0 in position 8: illegal multibyte sequence
encoding改成utf8也不对,不知道哪里错了

大马强 发表于 2022-1-21 22:40:24

encoding 改成 gbk 试试

python爱好者. 发表于 2022-1-22 09:30:31

是改成 utf-8 不是 utf8

isdkz 发表于 2022-1-22 17:16:08

python爱好者. 发表于 2022-1-22 09:30
是改成 utf-8 不是 utf8

utf8和utf-8是一样的

Tihool 发表于 2022-1-22 21:46:09

isdkz 发表于 2022-1-22 17:16
utf8和utf-8是一样的

所以你知道我哪错了吗

jhq999 发表于 2022-1-22 22:54:53

Tihool 发表于 2022-1-22 21:46
所以你知道我哪错了吗

括号有问题把它换成英文的括号")"

叼辣条闯世界 发表于 2022-1-23 18:45:57

count = 0 #计算第几行
lines = [] #记录行数不同
first = input('请输入需要比较的头一个文件名:')
second = input('请输入需要比较的第二个个文件名:')


first_file = open(first,'r',encoding = 'utf8')
second_file = open(second,'r',encoding = 'utf8')


for i in first_file:
    count += 1 #计算行数,开始即为第一行
    two = second_file.readline()
    if i != two:
      lines.append(count)
if len(lines) >=1:
    print('两个文件共有%d处不同:' % len(lines))
    for each_num in lines:
      print("第%d行不一样!"%each_num)
else:
    print('两个文件内容一样')
first_file.close()
second_file.close()

Tihool 发表于 2022-1-23 20:33:36

jhq999 发表于 2022-1-22 22:54
括号有问题把它换成英文的括号")"

不对

Tihool 发表于 2022-1-23 20:34:30

叼辣条闯世界 发表于 2022-1-23 18:45


说了utf8不对,你能运行吗

阿萨德按时 发表于 2022-1-24 09:41:57

Tihool 发表于 2022-1-23 20:34
说了utf8不对,你能运行吗

我刚才复制去试了下是可以运行的

陈小东 发表于 2022-2-17 17:08:25

Tihool 发表于 2022-1-23 20:33
不对

我这里改掉括号后是可以运行的,要不楼主再检查下?而且一般括号不对的话会有标红提示的
页: [1]
查看完整版本: 文件课后习题