【问题标题】:Python rename file - replace all underscores with spacePython重命名文件 - 用空格替换所有下划线
【发布时间】:2020-05-27 12:55:42
【问题描述】:

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

【问题讨论】:

  • new_name = filename.replace('_', " ")
  • re.sub('_', ' ', 'hi_hi_hi') 返回'hi hi hi' - 请提供一个具体的例子来说明它是如何不起作用的。

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


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    你可以试试这样的:

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

    干杯

    【讨论】:

      猜你喜欢
      • 2014-01-14
      • 2018-11-25
      • 2014-11-30
      • 1970-01-01
      • 2018-01-28
      • 2011-07-12
      • 2017-05-01
      • 1970-01-01
      相关资源
      最近更新 更多