0

在 python 中,我可以删除带有 Ascii 名称的文件夹。我使用: import shutil shutil.rmtree('folder_name') 但是当文件夹名称包含unicode字符时,例如“今年将不再”,我收到错误:系统找不到指定的路径。在这种情况下是否有删除文件夹的解决方案。感谢!

4

1 回答 1

2

使用 Unicode 字符串。如果您在字符串中指定非 ASCII 字符,请确保指定源文件的编码并且您实际以该编码保存源文件:

# coding: utf-8
import os
os.remove(u'美国人.txt')
os.rmdir(u'马克')

os.listdir如果您通过或之类的命令以编程方式读取文件目录os.walk,请使用 Unicode 指定目录,否则您将无法获得 Unicode 文件名:

>>> os.listdir('.')
['???.txt', '??']

对比

>>> os.listdir(u'.')
[u'\u7f8e\u56fd\u4eba.txt', u'\u9a6c\u514b'] # Unicode escapes are 美国人and 马克.
于 2013-04-25T05:28:50.090 回答