Tengo una cadena que quiero usar como nombre de archivo, por lo que quiero eliminar todos los caracteres que no se permitirían en los nombres de archivo, usando Python.
Prefiero ser estricto que lo contrario, así que digamos que quiero retener solo letras, dígitos y un pequeño conjunto de otros caracteres como "_-.() "
. ¿Cuál es la solución más elegante?
El nombre de archivo debe ser válido en varios sistemas operativos (Windows, Linux y Mac OS): es un archivo MP3 en mi biblioteca con el título de la canción como nombre de archivo, y se comparte y realiza una copia de seguridad entre 3 máquinas.
os.path
realmente carga una biblioteca diferente según el sistema operativo (consulte la segunda nota en la documentación ). Entonces, si se implementó una función de os.path
cotización, solo podría citar la cadena para POSIX-safety cuando se ejecuta en un sistema POSIX o para windows-safety cuando se ejecuta en Windows. El nombre de archivo resultante no necesariamente sería válido tanto en Windows como en POSIX, que es lo que pide la pregunta.