在 Python 中创建一个包含特殊字符的文件夹
Create a folder with special characters in Python
我正在尝试使用 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
或类似的东西。有任何想法吗?谢谢!
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 上有效,希望对您有所帮助。
我想我发现了问题:
i = i.decode('unicode_escape').encode("utf8")
应该是i = i.decode('unicode_escape')
这会创建一个名为 Gebäude
的文件夹
我正在尝试使用 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
或类似的东西。有任何想法吗?谢谢!
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 上有效,希望对您有所帮助。
我想我发现了问题:
i = i.decode('unicode_escape').encode("utf8")
应该是i = i.decode('unicode_escape')
这会创建一个名为 Gebäude