我试图用os.mkdir
在Python中创建一个文件夹,但我还没有成功。问题是我想首先浏览一个列表,对于该列表中的每个项目,我必须创建一个具有该特定名称的文件夹。该列表有时包含特殊字符,如ä, ü, ë
等,在unicode中。
这就是我现在所拥有的:
# -*- coding: utf-8 -*-
import os
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
data_dir = "C:\Test"
lst = ["Geb\u00e4ude"]
for i in lst:
print i
i = i.decode('unicode_escape').encode("utf8")
print i
os.mkdir(os.path.join(data_dir, i))
我第一次打印i
我显然得到Geb\u00e4ude
,这是我在所有解码和编码后第二次得到Gebäude
。到目前为止一切都很好。
问题是我现在想要在data_dir
中创建一个名为Gebäude
的文件夹,但在调用mkdir
后,我会收到一个包含其他奇怪字符的文件夹,例如Gebäude
或类似的东西。有任何想法吗?谢谢!
答案 0 :(得分:1)
Python 3:
# -*- coding: utf-8 -*-
import os
os.mkdir('Gebäude')
Python 2.7:
# -*- coding: utf-8 -*-
import os
os.mkdir(u'Gebäude')
至少这适用于macOS,我希望它有所帮助。
答案 1 :(得分:0)
我想我发现了问题:
i = i.decode('unicode_escape').encode("utf8")
应为i = i.decode('unicode_escape')
这会生成一个名为Gebäude