我正在Python 2中编写一个清理方法,它应该删除任何文件,包括具有unicode名称的文件。 shutil.rmtree
不是一个选项,因为它缺乏我需要的控制权。
目前,我尝试宣布# -*- coding: utf-8 -*-
,然后使用.encode('utf-8')
和.decode('utf-8')
的组合,但没有成功。这就是我的方法在没有任何编码或解码的情况下的外观
def _remove_files(path):
files = []
for dirpath, dirnames, filenames in os.walk(path):
for filename in [f for f in filenames]:
files.append(os.path.join(dirpath, filename))
for _file in files:
print _file
os.chmod(_file, stat.S_IRWXU | stat.S_IRWXG | stat.S_IRWXO)
os.remove(_file)
这是我得到的错误:
WindowsError:[错误2]系统找不到指定的文件:u' C:\ Users \ xxxxx \ yyyyy \\ u65e5 \ u672c \ u8a9e \ u306e \ u656c \ u8a9e.txt'