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

在本地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 原本是中文的“副本”

print(json.dumps(dirsList, ensure_ascii=False));

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

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

for i in dirsList:
i.encode('utf-8', 'surrogateescape').decode('utf-8')
先对str(unicode)进行编码,再解码,即可正常显示