因为一下要大量修改多个文件的名称,准备下个文件批量改名之星,同学说你不能用python写个代码出来吗,下什么软件。我听了听觉得很有道理,就查了查资料。
在Python里面有一个OS模块提供了大量方法来处理文件和目录。关于os文件处理模块的详细情况在这个菜鸟教程里面有:http://www.runoob.com/python3/python3-os-file-methods.html。
我们今天需要用到os模块的几个方法,我重点说我用到的几个方法,我用到的方法只适合解决我的问题,可能不适用于大家遇到的问题。
在python中获取当前路径。该函数不需要参数传递,特别需要注意的是,这个函数获取的路径是你存放这个脚本的路径。例如:
我把这个脚本文件放在F盘的python workplace文件夹下的txt文件夹
我print(os.getcwd() )之后,输出如下所示
可以看到,输出的位置和这个.py文件所在的位置是同一个位置,所以说os.gewcwd()这个方法获取的路径为存放脚本所在的路径。
在python中使用os.listdir()函数可以获取指定目录(如path)中的内容,并按顺序保存为一个list集合。
例如:
我们在这个地方调用os.getcwd()这个方法,获得了存放次脚本的路径
我们还是放在了F:\python workplace这个文件夹下面,所以我在这调用的也是这个文件夹。这是文件夹的内容:
执行os.listdir()方法后,在shell查看输出内容:
可以看到,方法把这个文件夹的每个文件都保存到了集合里面。
os.rename(oldname,newname)
oldname就是文件之前的名字,newname是你需要改的名字。其实我觉得renames和rename两个方法是一样的。
例如:
上面是我的rename方法,意思是把名字是ally.txt的文件改名为aanew.txt。看到我左边的文件夹的内容,里面有一个名为ally.txt的文件。
执行shell后:
输出了执行前的目录文件和执行后的目录文件。
可以看到,名字已经改变。把renam换成renames,执行的效果一样。
介绍了我们今天需要用到的函数,那么现在就该介绍一下今天的正题了。
因为我们改批量文件的时候,不需要把这个脚本放在批量文件的文件夹下,所以这里没有用到os.getcwd()这个函数。
我们采用直接指定路径的方法。
这是执行后的情况
文件夹里面的情况:
我这里采用的命名方式是这样的,所以newname采用上述的格式,newname里面只能添加字符串的内容。