【发布时间】:2020-05-27 12:55:42
【问题描述】:
我正在使用 python 重命名扩展名为“.ext”的目录中的所有文件。该脚本与文件位于同一文件夹中,因此无需担心路径。
如何用空格替换文件名中的所有下划线?例如文件名This_is_a_file 01 v2.22.ext 到This 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。上面的代码应该可以工作。
【问题讨论】:
-
new_name = filename.replace('_', " ") -
re.sub('_', ' ', 'hi_hi_hi')返回'hi hi hi'- 请提供一个具体的例子来说明它是如何不起作用的。
标签: python regex rename file-rename regexp-replace