Hier ist, was ich getan habe:Entfernen Sie alle Klammern und ersetzen Sie alle Leerzeichen durch Unterstriche?
import re
def demicrosoft (fn):
fn = re.sub('[()]', '', fn)
for ch in [' ']:
fn = fn.replace(ch,"_"+ch)
return fn
print(demicrosoft('a bad file name (really)'))
>>> (executing lines 1 to 12 of "<tmp 2>")
a_ bad_ file_ name_ really
Es gibt Räume mit den Unterstrichen. Wie kann ich es reparieren?
Warum fügen Sie den Raum zurück '' _ '+ ch' - 'ch' ist ein Leerzeichen? Meinst du nicht nur '' _'- da du versuchst das '' '' durch '' _'' zu ersetzen und 'ch' ist ein' '' '. – AChampion
Warum nicht einfach 'return re ('[()]', '', fn) .replace ('', '_')' – thefourtheye
Warum sind Leerzeichen, Klammern und eckige Klammern im Dateinamen schlecht? Sie sind alle gültigen Dateinamen in modernen Dateisystemen. – Anthon