Python重命名文件-用空格替换所有下划线

时间:2020-02-12 02:45:31

标签: python regex rename file-rename regexp-replace

我正在使用python重命名目录扩展名为“ .ext”的所有文件。该脚本与文件位于同一文件夹中,因此无需担心路径。

如何用空格替换文件名中的所有下划线?例如,文件名This_is_a_file 01 v2.22.extThis is a file 01 v2.22.ext?我已经尝试了以下代码:

import glob, re, os

for filename in glob.glob('*.ext'):
    new_name = re.sub("_", " ", filename) # this line does work
    os.rename(filename, new_name)

编辑:对不起,我在代码的其他地方出现了逻辑错误。替换行比我在此处显示的要多,但是我将new_name分配给filename的替换项,而不是在每一步都更新new_name。上面的代码应该可以工作。

2 个答案:

答案 0 :(得分:1)

这是一个简单的替代,无需使用正则表达式。改用它:

new_name = filename.replace('_', ' ')

答案 1 :(得分:0)

您可以尝试这样的事情:

 import glob, re, os

 for filename in glob.glob('*.ext'):
    new_name = ' '.join(filename.split('_'))  # another method 
    os.rename(filename, new_name)

欢呼