今天在使用Python2在windows平台下打开一个带有中文的文本文件的时候出现编码问题记在这里.
0.尝试打开文件
f = open(r'C:\Users\bin\Desktop\测试.txt')
print(dir(f))
结果爆错:
SyntaxError: Non-ASCII character '\xe6' in file C:/Users/bin/PycharmProjects/untitled1/test.py on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
以前在使用python3的时候没有出现这种问题,难道是字符编码的问题?
于是加入了utf-8
# coding:utf-8
f = open(r'C:\Users\bin\Desktop\测试.txt')
print(dir(f))
但是还是报错
IOError: [Errno 2] No such file or directory: 'C:\\Users\\bin\\Desktop\\\xe6\xb5\x8b\xe8\xaf\x95.txt'
尝试了使用了其他的几个知道的编码
# coding:gbk
f = open(r'C:\Users\bin\Desktop\测试.txt')
print(dir(f))
然后顺利的读取到了文件.
难道windows的内核使用的gbk,还是我使编程环境的问题呢?