python3 os.listdir问题, 被困扰一天了,求赐教,具体看下文 20C

在本地pycharm运行os.listdir(path)
中文文件正常显示

但是在linux下,我讲文件上传的,然后就出现了下面的线下

 dirsList = os.listdir(path)
 print(dirsList)
'[{"project": "project", "children": [{"DATA": ["dbc_analysis - \udcb8\udcb1\udcb1\udcbe (2).asc", "dbc_analysis - \udcb8\udcb1\udcb1\udcbe.asc", "dbc_analysis.asc"]}, {"DBC": ["dbc_analysis - \udcb8\udcb1\udcb1\udcbe (2).dbc", "dbc_analysis - \udcb8\udcb1\udcb1\udcbe.dbc", "dbc_analysis.dbc"]}, {"Filter": []}, {"Signal": []}]}]'

dcb8\udcb1\udcb1\udcbe 原本是中文的“副本”

3个回答

系统默认的编码格式不一样

garbin
garbin 回复Lost_life_: 这个问题解决了吗?
接近 2 年之前 回复
juezhanangle
juezhanangle 回复Lost_life_: 老哥,怎么处理的?
接近 2 年之前 回复
Lost_life_
Lost_life_ 我打印了系统编码,使用的是sys.getdefaultencoding() 得到的都是utf-8
大约 2 年之前 回复
print(json.dumps(dirsList, ensure_ascii=False));

\u开头表示的是Unicode编码
解决办法:
print(path.decode("raw_unicode_escape"))
图片说明

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐