mashiro666 发表于 2020-2-27 03:45:35

为什么含有中文的txt文件用open打开会报错

我在E盘已经新建了一个txt文件
f = open(r'E:\test.txt')
print(f)
print(f.read())


Traceback (most recent call last):
File "E:/python__pycharm/028.py", line 3, in <module>
    print(f.read())
UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 8: illegal multibyte sequence

为什么中文就会报错,英文就可以直接输出
我加了encoding = 'utf-8'中文就可以显示了,但我看小甲鱼的视频默认的就可以打开
而且我在pycharm总也默认了utf-8

mashiro666 发表于 2020-2-27 04:24:33

还有一个问题“这是一个测试文件为什么中文就不开呢”这是我的txt文件,我先用了rea(),再用tell(),为什么返回的指针位置是53

XiaoPaiShen 发表于 2020-2-27 06:50:54

f = open(r'E:\test.txt', encoding='utf-8')

TCY 发表于 2020-2-27 09:19:52

这是windows版本的问题
win8及以上(小甲鱼版本):UTF-8编码
win7(或许是你的版本):GBK编码

TCY 发表于 2020-2-27 09:20:28

还有下次发到Python交流版块

一个账号 发表于 2020-2-27 10:01:46

f = open(r'E:\test.txt', encoding='utf-8')
print(f)
print(f.read())

mashiro666 发表于 2020-2-27 16:10:49

TCY 发表于 2020-2-27 09:19
这是windows版本的问题
win8及以上(小甲鱼版本):UTF-8编码
win7(或许是你的版本):GBK编码

我是win10..而且我看txt里显示的也是utf-8,pycharm里我也改成默认是utf-8

mashiro666 发表于 2020-2-27 16:11:34

TCY 发表于 2020-2-27 09:20
还有下次发到Python交流版块

好的,还有我那个tell指针的问题可以解释一下嘛

mashiro666 发表于 2020-2-27 16:12:10

XiaoPaiShen 发表于 2020-2-27 06:50
f = open(r'E:\test.txt', encoding='utf-8')

还有那个指针的问题可以帮我解答一下嘛,谢谢啦

mashiro666 发表于 2020-2-27 22:26:31

求助啊指针的问题

XiaoPaiShen 发表于 2020-2-28 00:31:12

mashiro666 发表于 2020-2-27 16:12
还有那个指针的问题可以帮我解答一下嘛,谢谢啦

f = open(r'test.txt', encoding='utf-8')
print(f)
print(f.read())

# 文件读取后,位置指针指在最后
print(f.tell())

# 把文件位置指针指到开始
f.seek(0)
print(f.tell())

mashiro666 发表于 2020-2-28 01:57:38

XiaoPaiShen 发表于 2020-2-28 00:31
f = open(r'test.txt', encoding='utf-8')
print(f)
print(f.read())


‘’这是一个测试文件为什么中文就不开呢‘’ 这个是我的文本内容,但是我输出的指针位置是53,一个中文字符3个字节,不应该是51吗为什么多了2

mashiro666 发表于 2020-2-28 02:02:33

mashiro666 发表于 2020-2-28 01:57
‘’这是一个测试文件为什么中文就不开呢‘’ 这个是我的文本内容,但是我输出的指针位置是53,一个中文 ...

谢谢,我明白了我多大了一行空白的空行hhhh
页: [1]
查看完整版本: 为什么含有中文的txt文件用open打开会报错