Какая версия Python?
Какая у вас локаль?
Вы используете os.rename(src, dst)
... что print repr(src)
дает вам для типичного файла? Используйте print(ascii(src))
с Python 3.x.
Как вы получаете src
для каждого файла? Если это какой-то гаджет "доставь мне все файлы в some-folder
", предоставил ли ты some-folder
в качестве unicode
объекта?
Обновление: Если на самом деле вы делаете что-то вроде:
for filename in os.listdir("C:\\foo\\bar\\baz"):
dst = some_func(filename)
os.rename(filename, dst)
Вы можете сделать это, как указано в документации os.listdir и моем предыдущем указании, и попробовать это:
for filename in os.listdir(u"C:\\foo\\bar\\baz"):
dst = some_func(filename)
os.rename(filename, dst)