
【python学习】如何批量将文件夹名字中的空格替换为下划线
批量将文件夹名字中的空格替换为下划线在科研生活中,我们可能会得到一系列文件夹,它们的名字中均有空格。然而,在linux系统中,使用某个文件夹时,很难识别名字中的空格,从而导致报错。因此我们需要将空格转为下划线或者删除。最方便的方法当然是手动替换,但是当我们有几百份文件的时候咋办,手动替换会让我们产生对科研的热情与怀疑,难道我们要白白浪费时间在这种重复简单无聊的事情上吗?当然要去想,有没有更有效的方
·
批量将文件夹名字中的空格替换为下划线
在科研生活中,我们可能会得到一系列文件夹,它们的名字中均有空格。然而,在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_替换为大文件夹的路径即可。
更多推荐
所有评论(0)