Python - 将str.replace与通配符一起使用

bal*_*men 6 python

我正在尝试重命名使用此模式命名的文件夹名称:FOLDERNAME(###)

我试图摆脱(###),一系列随机长度的数字.

我想使用str.replace如下所示来做,但我不确定我是否可以这样使用通配符...

folderdir = os.listdir(path)            # Listing the folder names
for foldername in folderdir:
    output = foldername.replace("(*)", "")
    rename()
Run Code Online (Sandbox Code Playgroud)

mgi*_*son 10

不,str.replace不行.你需要re.sub.

例如:

>>> re.sub(r'\(.*\)', '', 'foobar (###)')
'foobar '
Run Code Online (Sandbox Code Playgroud)


Joh*_*ooy 5

如果“(###)”总是在最后。

output = foldername.rpartition("(")[0]
Run Code Online (Sandbox Code Playgroud)