如何获取unicode中所有文件的列表?

时间:2015-08-17 08:18:45

标签: python python-2.7 unicode

我需要获取目录中的文件列表,其中文件名必须是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上工作

1 个答案:

答案 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对象列表。   不可解码的文件名仍将作为字符串对象返回。