Mam ciąg, którego chcę użyć jako nazwę pliku, więc chcę usunąć wszystkie znaki, które nie byłyby dozwolone w nazwach plików, za pomocą Pythona.
Wolę być surowy niż inaczej, więc powiedzmy, że chcę zachować tylko litery, cyfry i mały zestaw innych znaków, takich jak "_-.() "
. Jakie jest najbardziej eleganckie rozwiązanie?
Nazwa pliku musi być poprawna na wielu systemach operacyjnych (Windows, Linux i Mac OS) - jest to plik MP3 w mojej bibliotece z tytułem utworu jako nazwą pliku i jest współdzielony i tworzony z kopii zapasowej między 3 komputerami.
os.path
faktycznie ładuje inną bibliotekę w zależności od systemu operacyjnego (patrz druga uwaga w dokumentacji ). Więc jeśli funkcja cytowania została zaimplementowana os.path
, może zacytować ciąg znaków dla POSIX-safety podczas uruchamiania w systemie POSIX lub dla bezpieczeństwa Windows podczas uruchamiania w systemie Windows. Wynikowa nazwa pliku niekoniecznie musi być poprawna zarówno w systemie Windows, jak i POSIX, o co pyta pytanie.