我的脚本搜索它所在的目录,并将使用它找到的文件名创建新目录并将它们移动到该目录:John-doe-taxes.hrb -> John-doe/John-does-taxes.hrb。它工作正常,直到它遇到变音字符,然后它将创建目录并返回“错误 2”,表示它找不到文件。我对编程很陌生,我发现的答案是添加一个
coding: utf-8
行到不起作用的文件我相信因为我没有在我的代码中使用变音符号我正在处理变音符号文件。我很好奇的一件事是,这个问题是否也会出现在变音符号或其他特殊字符中?这是我正在使用的代码,我感谢提供的任何建议。
import os
import re
from os.path import dirname, abspath, join
dir = dirname(abspath(__file__))
(root, dirs, files) = os.walk(dir).next()
p = re.compile('(.*)-taxes-')
count = 0
for file in files:
match = p.search(file)
if match:
count = count + 1
print("Files processed: " + str(count))
dir_name = match.group(1)
full_dir = join(dir, dir_name)
if not os.access(full_dir, os.F_OK):
os.mkdir(full_dir)
os.rename(join(dir, file), join(full_dir, file))
raw_input()