Python, how to rename file with chinese characters

104 Views Asked by At

Can't rename file with chinese characters

I tried this

os.rename(file, file.replace(os.path.basename(file),"") + f"{str(filename)}.{filemenu.get()}")

and this

shutil.move(file, file.replace(os.path.basename(file),"") + f"{str(filename)}.{filemenu.get()}")

but it gives me error when i try to rename file with chinese characters

1 code gives OSError: [WinError 123] Синтаксическая ошибка в имени файла, имени папки или метке тома: 'C:/Users/danil/OneDrive/Документы/kwork/zvukogram/outputtest\\prj_23897614_d41d8cd98f00b204e9800998ecf8427e_1694617003.mp3' -> 'C:/Users/danil/OneDrive/Документы/kwork/zvukogram/outputtest\\今天 天气 很冷吗?.mp3' error, 2 code gives OSError: [Errno 22] Invalid argument: 'C:/Users/danil/OneDrive/Документы/kwork/zvukogram/outputtest\\今天 天气 很冷吗?.mp3'

1

There are 1 best solutions below

1
On

Beep..bop...boop...

Renaming files with Chinese characters can sometimes be tricky due to encoding issues. Try specifying encode when renaming file. Use UTF-8 to do so.

new_name_encoded = new_name.encode('utf-8')