为了账号安全,请及时绑定邮箱和手机立即绑定

python2.7中 os.walk 文件名编码问题

python2.7中 os.walk 文件名编码问题

芜湖不芜 2018-08-03 16:39:10
# -*- coding: utf-8 -*-import os       def file_name(file_dir):            L=[]            for root, dirs, files in os.walk(file_dir):               print filesdef main():     path = os.getcwd()     file_list = file_name(path+"\img") main()代码如上获取文件夹的图片 然后把文件名打印出来结果显示的是编码结果如下:'2017\xd3\xc8\xc3\xdb\xdc\xf6\xb0\xd9\xc6\xda\xba\xcf\xbc\xaf \xc3\xc0\xc5\xae\xc8\xe7\xd4\xc6\xd6\xd8\xb0\xf5\xb8\xa3\xc0\xfb_0.jpg', '2017\xd3\xc8\xc3\xdb\xdc\xf6\xb0\xd9\xc6\xda\xba\xcf\xbc\xaf \xc3\xc0\xc5\xae\xc8\xe7\xd4\xc6\xd6\xd8\xb0\xf5\xb8\xa3\xc0\xfb_1.jpg',网上找了很多这方面资料 但是还是解决不了,请各位大佬指点下
查看完整描述

2 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

Python2里打印列表中文乱码,我一般用json解决

>>> names = ["奥特曼", "孙悟空"]
>>> print names
['\xe5\xa5\xa5\xe7\x89\xb9\xe6\x9b\xbc', '\xe5\xad\x99\xe6\x82\x9f\xe7\xa9\xba']
>>> import json
>>> print json.dumps(names, ensure_ascii=False)
["奥特曼", "孙悟空"]


查看完整回答
反对 回复 2018-08-05
?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

for root, dirs, files in os.walk(file_dir):  
    print files

这里的 files 是一个列表来的,所以如果里面的文件带有中文,直接 print 是会看到那一堆十六进制的内容的

所以如果你想看那些文件名,需要一个个遍历出来:

for filename in files:
    print filename

如果你想拷贝或者读的,也是同样的操作就可以了


查看完整回答
反对 回复 2018-08-05
  • 2 回答
  • 0 关注
  • 1274 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信