我需要获取目录中的文件列表,其中文件名必须是unicode。
以下代码为我提供了一个文件列表。
files = [ f for f in listdir(filedirectory) if isfile(join(filedirectory,f)) ]
for fi in files:
print(fi)
print(type(fi))
结果:
AT10_nachmittags.JPG
<type 'str'>
AT11_nachmittags.JPG
<type 'str'>
AT12_nachmittags.JPG
<type 'str'>
AT2_morgens2.JPG
<type 'str'>
AT3_morgens.JPG
<type 'str'>
AT_morgens.JPG
<type 'str'>
Bühne.JPG
<type 'str'>
Bühnenauftritt.JPG
<type 'str'>
问题是这些不是unicode。我需要它们是unicode所以我可以把它们写在一个文件中,因为它们包括德语&#34; umlaute&#34; unicode符号。
我正在使用python 2.7.6
在Mac OS X 10.10.4上工作答案 0 :(得分:3)
尝试使用filedirectory作为unicode字符串参数执行listdir。例如。 filedirectory = u'/ some / dir'
来自文档:
os.listdir(path)返回包含条目名称的列表 path给出的目录。该列表按任意顺序排列。确实如此 不包括特殊条目'。'和'..'即使他们在场 在目录中。
可用性:Unix,Windows。
<强>&GT;在版本2.3中更改:在Windows NT / 2k / XP和Unix上,如果path是a Unicode对象,结果将是一个Unicode对象列表。 不可解码的文件名仍将作为字符串对象返回。