У мене є рядок, який я хочу використовувати як ім'я файлу, тому я хочу видалити всі символи, які не були дозволені у іменах, використовуючи Python.
Я вважаю за краще бути суворим, ніж інакше, тому скажімо, що я хочу зберігати лише букви, цифри та невеликий набір подібних символів "_-.() "
. Яке найелегантніше рішення?
Ім’я файлу має бути дійсним у кількох операційних системах (Windows, Linux та Mac OS) - це MP3-файл у моїй бібліотеці із назвою пісні як ім'я файлу, і його можна спільно використовувати та створити резервну копію між 3-ма машинами.
os.path
фактично завантажує іншу бібліотеку залежно від ОС (див. Другу примітку в документації ). Отже, якщо в ньому була реалізована функція котирування, os.path
вона могла б цитувати лише рядок для POSIX-безпеки під час роботи в системі POSIX або для безпеки Windows під час роботи на Windows. Отримане ім'я файлу не обов'язково було б дійсним як для Windows, так і для POSIX, саме про це і задається питання.