【python】批量修改文件名

      因为一下要大量修改多个文件的名称,准备下个文件批量改名之星,同学说你不能用python写个代码出来吗,下什么软件。我听了听觉得很有道理,就查了查资料。

       在Python里面有一个OS模块提供了大量方法来处理文件和目录。关于os文件处理模块的详细情况在这个菜鸟教程里面有:http://www.runoob.com/python3/python3-os-file-methods.html。

     我们今天需要用到os模块的几个方法,我重点说我用到的几个方法,我用到的方法只适合解决我的问题,可能不适用于大家遇到的问题。

os模块

1.os.getcwd()

在python中获取当前路径。该函数不需要参数传递,特别需要注意的是,这个函数获取的路径是你存放这个脚本的路径。例如

【python】批量修改文件名_第1张图片

我把这个脚本文件放在F盘的python workplace文件夹下的txt文件夹

我print(os.getcwd() )之后,输出如下所示

可以看到,输出的位置和这个.py文件所在的位置是同一个位置,所以说os.gewcwd()这个方法获取的路径为存放脚本所在的路径

2.os.listdir(path)

在python中使用os.listdir()函数可以获取指定目录(如path)中的内容,并按顺序保存为一个list集合。

例如

我们在这个地方调用os.getcwd()这个方法,获得了存放次脚本的路径

我们还是放在了F:\python workplace这个文件夹下面,所以我在这调用的也是这个文件夹。这是文件夹的内容:

【python】批量修改文件名_第2张图片

执行os.listdir()方法后,在shell查看输出内容:

可以看到,方法把这个文件夹的每个文件都保存到了集合里面。

3.os.renames()/os.rename()

os.rename(oldname,newname)

oldname就是文件之前的名字,newname是你需要改的名字。其实我觉得renames和rename两个方法是一样的。

例如:

【python】批量修改文件名_第3张图片【python】批量修改文件名_第4张图片

上面是我的rename方法,意思是把名字是ally.txt的文件改名为aanew.txt。看到我左边的文件夹的内容,里面有一个名为ally.txt的文件。

执行shell后:

【python】批量修改文件名_第5张图片

输出了执行前的目录文件和执行后的目录文件。

【python】批量修改文件名_第6张图片

可以看到,名字已经改变。把renam换成renames,执行的效果一样。

 

介绍了我们今天需要用到的函数,那么现在就该介绍一下今天的正题了。

【python】批量修改文件名_第7张图片

因为我们改批量文件的时候,不需要把这个脚本放在批量文件的文件夹下,所以这里没有用到os.getcwd()这个函数。

我们采用直接指定路径的方法。

这是执行后的情况

【python】批量修改文件名_第8张图片

文件夹里面的情况:

【python】批量修改文件名_第9张图片

我这里采用的命名方式是这样的,所以newname采用上述的格式,newname里面只能添加字符串的内容。

 

 

你可能感兴趣的:(python)