gpt4 book ai didi

python - listdir 不能正确打印非英文字母

转载 作者:太空狗 更新时间:2023-10-30 02:13:16 25 4
gpt4 key购买 nike

在 Python 2.7 上,

for dir in os.listdir("E:/Library/Documents/Old - Archives/Case"):
print dir

打印出来:

Danny.xlsx
Dannyh.xlsx
~$??? ?? ?????? ??? ???? ???????.docx

同时:

# using a unicode literal
for dir in os.listdir(u"E:/Library/Documents/Old - Archives/Case"):
print dir

打印出来:

Dan.xlsx
Dann.xlsx

Traceback (most recent call last):
File "E:\...\FirstModule.py", line 31, in <module>
print dir
File "C:\Python27\lib\encodings\cp1252.py", line 12, in encode
return codecs.charmap_encode(input,errors,encoding_table)
UnicodeEncodeError: 'charmap' codec can't encode characters in position 2-4: character maps to <undefined>

该文件的名称为希伯来语,如下所示:המסמך.xls

我怎样才能让它在 Python 中也显示为希伯来语?

最佳答案

带有 u'' 字符串文字的版本工作正常:询问 Unicode 路径名,您将得到一个 Unicode 路径名作为响应,允许您使用包含当前代码之外的字符的文件名页面。

您的问题完全来自于尝试打印 文件名。将 Unicode 输出到 Windows 命令提示符是一个尝试。

默认的 C 标准库打印函数仅限于语言环境代码页。除非您直接调用 Win32 API 函数 WriteConsoleW(使用 ctypes),否则您永远不会获得可靠的控制台 Unicode 支持;即使这样,除非选择合适的非默认字体,否则它也不会工作。这几乎会影响所有非 native 命令行工具,而不仅仅是 Python。

关于python - listdir 不能正确打印非英文字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9954948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com