Python 替换文件夹名称的多个字符

Python 替换文件夹名称的多个字符,python,replace,Python,Replace,我在Windows上,Windows不喜欢文件夹名称中的字符“?/”;:*”。现在我不想用“\”替换所述字符。如果我,它似乎可以工作。替换(“:”,“\”),但不使用任何其他字符。但无论如何,我想替换上面所有字符。我尝试了(somestring)。替换(“:”,“\”)。替换(“?”,“\”)。替换(“?”,“\”)但它不起作用 现在情况如何: with open(unidecode(somestring).replace(':', '_')+'/{0}_{1}.txt'.format(coun

我在Windows上,Windows不喜欢文件夹名称中的字符“?/”;:*”。现在我不想用“\”替换所述字符。如果我
,它似乎可以工作。替换(“:”,“\”)
,但不使用任何其他字符。但无论如何,我想替换上面所有字符。我尝试了
(somestring)。替换(“:”,“\”)。替换(“?”,“\”)。替换(“?”,“\”)
但它不起作用

现在情况如何:

with open(unidecode(somestring).replace(':', '_')+'/{0}_{1}.txt'.format(counter, points), 'w+', encoding='utf-8') as outfile: outfile.write('{0}\n\n{1}\n'.format(stringhere, somecontent))
如上所述,它很好地替换了“:”。但是没有其他字符。在这种情况下,如何替换多个字符?

使用
regex

import re
fe = '?/"|:*<>?/abcdefg"|:*<>'
ke = re.sub(r'[?/"|:*<>]', '_', fe)

>>> fe
'?/"|:*<>?/abcdefg"|:*<>'

>>> ke
'__________abcdefg______'
重新导入
fe=“?/”:*?/abcdefg“:*”
ke=re.sub(r'[?/“:*]”,''.',fe)
>>>铁
“?/”:*?/abcdefg“:*”
>>>ke
“abcdefg”
使用
regex

import re
fe = '?/"|:*<>?/abcdefg"|:*<>'
ke = re.sub(r'[?/"|:*<>]', '_', fe)

>>> fe
'?/"|:*<>?/abcdefg"|:*<>'

>>> ke
'__________abcdefg______'
重新导入
fe=“?/”:*?/abcdefg“:*”
ke=re.sub(r'[?/“:*]”,''.',fe)
>>>铁
“?/”:*?/abcdefg“:*”
>>>ke
“abcdefg”
这应该可以:

res = ''.join(['_' if letter in '?/"|:*<>' else letter for letter in fe])
print(res)
#__________abcdefg______
res=''.join([''如果'?/'':*'中的字母为''fe'中的字母,则为''.'其他字母])
打印(res)
#__________abcdefg______
这应该可以:

res = ''.join(['_' if letter in '?/"|:*<>' else letter for letter in fe])
print(res)
#__________abcdefg______
res=''.join([''如果'?/'':*'中的字母为''fe'中的字母,则为''.'其他字母])
打印(res)
#__________abcdefg______