批量将文件夹名字中的空格替换为下划线

在科研生活中,我们可能会得到一系列文件夹,它们的名字中均有空格。然而,在linux系统中,使用某个文件夹时,很难识别名字中的空格,从而导致报错。因此我们需要将空格转为下划线或者删除。最方便的方法当然是手动替换,但是当我们有几百份文件的时候咋办,手动替换会让我们产生对科研的热情与怀疑,难道我们要白白浪费时间在这种重复简单无聊的事情上吗?当然要去想,有没有更有效的方法?有的,使用python写一段命令即可。
举个例子:
我需要将文件夹“test_exps”内的各文件夹的名字中的空格转为下划线
在这里插入图片描述【思路】

  • 首先提取大文件夹下的所有文件夹的名字作为一个列表
  • 接着将文件夹名字中的空格替换为下划线
  • 然后定义完整的文件路径(旧的跟新的),进行路径替换
import os
def filerename(path_):
    filelist = os.listdir(path_) #文件夹中的文件列表
    for file in filelist: #逐次遍历文件夹下的文件
        path2 = file.replace(' ','_')   #将文件名中的空格替换成下划线,或者替换成其他的也行
        Olddir=os.path.join(path_,file) #完整的的文件路径
        Newdir=os.path.join(path_,path2) #得到新的路径
        os.rename(Olddir,Newdir)#重命名

if __name__ == "__main__":
    filerename("test_exps")

如何使用这份代码/脚本?
将函数filerename(path_)中变量path_替换为大文件夹的路径即可。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐