私のスクリプトは、それが含まれているディレクトリを検索し、見つかったファイル名を使用して新しいディレクトリを作成し、それらをそのディレクトリに移動します:John-doe-taxes.hrb-> John-doe/John-does-taxes.hrb。umlaut文字に遭遇するまでは正常に動作し、ディレクトリが作成され、ファイルが見つからないことを示す「エラー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()