遍历目录出现中文乱码的问题"/>
pycharm中os.walk遍历目录出现中文乱码的问题
感谢csdn网友对我的帮助
for files in os.walk(r'D:\datamining'):print(files)
遍历目录但是files是这样的
('D:\\datamining', [], ['security_def.groovy', 'symbol.txt', '\xc9\xcc\xc6\xb7\xc6\xda\xbb\xf5\xd2\xbb\xb7\xd6\xd6\xd3.rar', '\xca\xfd\xbe\xdd\xc7\xe9\xbf\xf6\xcb\xb5\xc3\xf7.txt'])
后面的元素列表才是关键,可以看见后两个中文显示不正确,尤其是当
for file in files:p+=1if p==3:print(file[2])print (file[-1])
这两个都是出现菱形中?的特殊符号
我觉得是因为os.walk这种系统的东西都是用国际的gbk编码,而pycharm中(file->settings->file encodings)中global encoding是utf-8,两者不一致,所以会出现错误,(如果在python官网下的shell中就没问题,所以应该是工具的编码问题)于是在第一行加上网友们说的
# coding=gb2312
将global encoding改为ascii就可以了,但是老大说不能这样改,以后会出现问题,于是我又改了过来。(但是后来运行就没有问题了,不知道为啥)
还有一种比较靠谱的方法就是print(files[-1][0].decode('gbk').encode('utf-8')),他说他试验了可以,我没试验。
最后提醒注意第一行要加上# coding=gb2312
更多推荐
pycharm中os.walk遍历目录出现中文乱码的问题
发布评论