无法重命名含有汉字的文件
我试过这个
os.rename(file, file.replace(os.path.basename(file),"") + f"{str(filename)}.{filemenu.get()}")
还有这个
shutil.move(file, file.replace(os.path.basename(file),"") + f"{str(filename)}.{filemenu.get()}")
但是当我尝试用中文字符重命名文件时,它给了我错误
1 代码给出
OSError: [WinError 123] Синтаксическая ошибка в имени файла, имени папки или метке тома: 'C:/Users/danil/OneDrive/Документы/kwork/zvukogram/outputtest\\prj_23897614_d41d8cd98f00b204e9800998ecf8427e_1694617003.mp3' -> 'C:/Users/danil/OneDrive/Документы/kwork/zvukogram/outputtest\\今天 天气 很冷吗?.mp3'
错误,2 代码给出 OSError: [Errno 22] Invalid argument: 'C:/Users/danil/OneDrive/Документы/kwork/zvukogram/outputtest\\今天 天气 很冷吗?.mp3'
嘟嘟..噗噗...噗噗...
由于编码问题,用中文字符重命名文件有时会很棘手。 尝试在重命名文件时指定编码。 使用 UTF-8 来执行此操作。
new_name_encoded = new_name.encode('utf-8')