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

问题描述 投票:0回答:2

我正在使用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。上面的代码应该起作用。

python regex rename file-rename regexp-replace
2个回答
1
投票

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

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

0
投票

您可以尝试这样的事情:

 import glob, re, os

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

欢呼声

© www.soinside.com 2019 - 2024. All rights reserved.