Как переименовать файлы, содержащие корейские символы в Python - PullRequest
0 голосов
/ 20 сентября 2011

Я хочу переименовать более 100 файлов в Windows 7, все они имеют символы корейский / хангыль.Но os.rename () не работает с этими файлами.

WindowsError: [Error 123] The filename, directory name, or volume label syntax is incorrect

Я использую python 2.6.5 и os.listdir () для получения имен файлов, которые дают мне что-то вроде ???? ??? 021? 061205

1 Ответ

0 голосов
/ 20 сентября 2011

Какая версия 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...