Как удалить специальные символы в имени файла (\ u202a имя файла \ u202c \ u200f. * Mp3) - PullRequest
0 голосов
/ 10 апреля 2020

Хорошо, ребята. У меня проблема. У меня есть файл с именем «My Song.mp3», который я хотел переименовать во что-то, что хранится в переменной, а также с другим расширением.

Но всякий раз, когда я пытаюсь переименовать его с помощью кода. это дало мне ошибку FileNotFoundError. Затем я понял, что фактическое имя файла отображается как «Моя песня». Я считаю, что это связано со специальными символами или Unicode.

    mp3_file= title + ".mp3"
    base = os.path.split(mp3_file)[0]
    os.rename(mp3_file, base + title + '.mp4')

Ошибка

FileNotFoundError: [WinError 2] The system cannot find the file specified: \u202amysong\u202c\u200f.mp3' -> '\u202mysong2020\u202c\u200f.mp4'`

1 Ответ

0 голосов
/ 10 апреля 2020

В следующих случаях сохраняются только символы ASCII:

"".join([char for char in filename if ord(char) < 128])
#'My Song.mp3'
...