Eine Zeichenfolge in einen gültigen Dateinamen verwandeln?

Ich habe eine Zeichenfolge, die ich als Dateinamen verwenden möchte. Daher möchte ich mit Python alle Zeichen entfernen, die in Dateinamen nicht zulässig sind.

Ich bin lieber streng als sonst. Nehmen wir also an, ich möchte nur Buchstaben, Ziffern und eine kleine Menge anderer Zeichen wie @ behalte"_-.() ". Was ist die eleganteste Lösung?

Der Dateiname muss auf mehreren Betriebssystemen (Windows, Linux und Mac OS) gültig sein. Es handelt sich um eine MP3-Datei in meiner Bibliothek mit dem Songtitel als Dateiname, die von drei Computern gemeinsam genutzt und gesichert wird.