У меня есть строка, которую я хочу использовать в качестве имени файла, поэтому я хочу удалить все символы, которые не допускаются в именах файлов, используя Python.
Я предпочел бы быть строгим, чем иначе, поэтому допустим, что я хочу сохранить только буквы, цифры и небольшой набор других символов, таких как "_-.() "
. Какое самое элегантное решение?
Имя файла должно быть действительным в нескольких операционных системах (Windows, Linux и Mac OS) - это файл MP3 в моей библиотеке с названием песни в качестве имени файла, который разделяется и резервируется между 3 компьютерами.
os.path
фактически загружает другую библиотеку в зависимости от операционной системы (см. Второе примечание в документации ). Поэтому, если в нем реализована функция цитирования, os.path
она может заключать в кавычки только строку для POSIX-безопасности при работе в системе POSIX или для Windows-безопасности при работе в Windows. Полученное имя файла не обязательно будет действительным для обоих окон и POSIX, о чем и спрашивает вопрос.