欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

批量、有顺序的更改档名-python

程序员文章站 2022-01-30 20:47:46
...

开始前的碎念

我还算是python的小白,对于程序的编写还在努力的学习中,从CSDN各个博文中得到了许多帮助与知识(由衷的感谢),因此自己完成了一小部份的成果后,我决定通过博文纪录我的学习笔记,也算是对于学习的一种负责,希望借此方式能够重整思路,因为有时候会卡在一个点很久,找了中外的许多网站才解决了困惑。所以我会尽量的完整纪录我的思路与困惑的点在文中,跟我一样困惑的小伙伴们就能减少迷茫的时间了,快速的走向下一步的科研哈!

问题描述

由于在整理文件时,需要将文件依照档名进行初步的分类,因此,在网上搜寻了很多更改档名的办法。但因为自己需要的更名方式是为需要按档案的年份来命名,并且依次12345…的命名方式(举例来说:2017-1、2017-2、2017-3等的新名称),所以利用了一些for loop帮助我实现。

代码实现

实现的python套件包是为os,有很多涉及处理文件存储、命名、读取等的行为都会需要os套件(这是基本的粗浅了解,以后有更深的体会会再补充说明白的~)

// 导进需要的套件包绝对是第一步
import os
path='存储的路径' #这就是欲进行档名更改的文件路径,路径的斜线是为/,要留意下!
files=os.listdir(path)
print('files') #印出读取到的文件名称,用来确认自己是不是真的有读到

n=0 #设定初始值
for i in files: #因为文件夹里面的文件都要重新更换名称
	oldname=path+files[n] #指出文件现在的路径名称,[n]表示第n个文件
	newname=path+'2017-'+str(n+1)+'.wav' #在本案例中的命名规则为:年份+ - + 次序,最后一个.wav表示该档案的类型
	os.rename(oldname,newname)
	print(oldname+'>>>'+newname) #印出原名与更名后的新名,可以进一步的确认每个文件的新旧对应
	n=n+1 #当有不止一个文件的时候,依次对每一个文件进行上面的流程,直到更换完毕就会结束

os.listdir 传回文件夹中每个文件的名称
os.rename 用来将更改原名到新名

  • 代码中提到会按照文件的排列次序依次重新命名,而其中的排列次序为当前在文件夹中设定的排列次序,举例来说,假设在文件夹中设定的排列为根据时间排列的,那在这个改名字的过程中,他会按照当前的文件排序按照顺序排下来。
  • 在最后一步的打印新旧名称的对应可以帮助我们纪录或了解~~(盯着代码运行,发现一个一个新旧对应印出来特别疗愈2333)~~
  • 我通常会在执行名字更换前,先将原文件夹复制一个,以供日后作参考~~(是个非常怕原始资料遗失的人呜呜)~~

思路

Created with Raphaël 2.2.0指向要操作的文件夹读取文件`os.listdir(path)`制定命名规则新旧名更换`os.rename(old,new)`打印更换前后的名称
  • for的下个loop会再从读取文件开始

再次的碎念

这是第一篇学习的心得,算是利用python自动化完成重复性工作。我其实是很任劳任怨的,一直都是想通过最原始的方式手动进行更改,在几个月前的我可能不会想用这个方法帮我批量完成,总想说用最笨的方法有一天我会完成的,但当我拥有的数据量近千的时候,我终于产生找寻一些智能一点的方式完成的动机了哈哈哈。虽然代码看着也没有多少行,也可能还不够聪明,但我追求的是用自己能理解的代码完成我想做的事,目前这是我能够说服自己也能完成我要做的事的实现代码,总之算是对自己学习的一个纪录,同时也希望能帮上跟我一样的入门学习者!
下一篇想要记录的是频谱图的生成~ 待续~

相关标签: python