本文介绍了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 不能正确打印非英文字母的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-29 02:50