为啥直接复制代码还会出错
请输入需要比较的头一个文件名:config.txt请输入需要比较的另一个文件名:first.txt
Traceback (most recent call last):
File "D:/新建文件夹 (2)/duibi.py", line 20, in <module>
differ = file_compare(file1, file2)
File "D:/新建文件夹 (2)/duibi.py", line 7, in file_compare
for line1 in f1:
UnicodeDecodeError: 'gbk' codec can't decode byte 0x81 in position 30: illegal multibyte sequence
这是代码
def file_compare(file1, file2):
f1 = open('D:\\'+file1)
f2 = open('D:\\'+file2)
count = 0 # 统计行数
differ = [] # 统计不一样的数量
for line1 in f1:
line2 = f2.readline()
count += 1
if line1 != line2:
differ.append(count)
f1.close()
f2.close()
return differ
file1 = input('请输入需要比较的头一个文件名:')
file2 = input('请输入需要比较的另一个文件名:')
differ = file_compare(file1, file2)
if len(differ) == 0:
print('两个文件完全一样!')
else:
print('两个文件共有【%d】处不同:' % len(differ))
for each in differ:
print('第 %d 行不一样' % each)
更改open函数的编码参数 大佬,怎么改
昨非 发表于 2020-12-10 13:04
更改open函数的编码参数
大佬,怎么改
lomo_mo 发表于 2020-12-10 15:22
大佬,怎么改
f=open(路径,encoding="UTF-8") 昨非 发表于 2020-12-10 15:24
f=open(路径,encoding="UTF-8")
请输入需要比较的头一个文件名:config.txt
请输入需要比较的另一个文件名:first.txt
Traceback (most recent call last):
File "D:/新建文件夹 (2)/dui.py", line 20, in <module>
differ = file_compare(file1, file2)
File "D:/新建文件夹 (2)/dui.py", line 8, in file_compare
line2 = f2.readline()
File "D:\新建文件夹 (2)\lib\codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc4 in position 0: invalid continuation byte
我UTF-8是大写的 lomo_mo 发表于 2020-12-10 15:30
请输入需要比较的头一个文件名:config.txt
请输入需要比较的另一个文件名:first.txt
Traceback (most ...
这个大小写一般不影响,你的文件用的可能是其他编码方式
页:
[1]