本文介绍了listdir 不能正确打印非英文字母的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在 Python 2.7 上,
for os.listdir("E:/Library/Documents/Old - Archives/Case") 中的目录:打印目录
打印出来:
Danny.xlsx丹尼.xlsx~$????????????????????????.docx
虽然这个:
# 使用 unicode 文字对于 os.listdir(u"E:/Library/Documents/Old - Archives/Case") 中的目录:打印目录
打印出来:
Dan.xlsx丹恩.xlsx回溯(最近一次调用最后一次): 中的文件E:\...\FirstModule.py",第 31 行打印目录文件C:\Python27\lib\encodings\cp1252.py",第 12 行,在编码中返回 codecs.charmap_encode(input,errors,encoding_table)UnicodeEncodeError: 'charmap' 编解码器无法对位置 2-4 中的字符进行编码:字符映射到 <undefined>
文件名是希伯来语,例如:המסמך.xls
我怎样才能让它在 Python 中也出现在希伯来语中?
解决方案
已解决:文档顶部的# -*- coding: utf-8 -*-
已解决.>
On Python 2.7,
for dir in os.listdir("E:/Library/Documents/Old - Archives/Case"):
print dir
prints out:
Danny.xlsx
Dannyh.xlsx
~$??? ?? ?????? ??? ???? ???????.docx
while this:
# using a unicode literal
for dir in os.listdir(u"E:/Library/Documents/Old - Archives/Case"):
print dir
prints out:
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>
The file's name is in Hebrew, as such: המסמך.xls
How can I make it appear in Hebrew in Python too?
解决方案
Solved it: # -*- coding: utf-8 -*-
at the top of the document solved it.
这篇关于listdir 不能正确打印非英文字母的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!