Вот что я сделал:Удалите все круглые скобки и замените все пробелы символами подчеркивания?
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
Там находятся помещения с последующим подчеркиванием. Как я могу это исправить?
Почему вы добавляете пробел назад '' _ '+ ch' - 'ch' - это пробел? Разве вы не имеете в виду '' _'' - поскольку вы пытаетесь заменить '' ''на' '_'', а' ch' - '' ''. – AChampion
Почему не просто 'return re.sub ('[()]', '', fn) .replace ('', '_')' – thefourtheye
Почему в скобках нет скобок, скобок и квадратных скобок? Все действующие имена файлов на современных файловых системах. – Anthon