很多语言都可以做到批量修改文件名,今天我就给大家接受一下Python的方法,首选上需求。
![d3bd0623108f406ab3041b08f414e241.png](https://i-blog.csdnimg.cn/blog_migrate/e989baa4962a94c690b8be77b020c6b8.jpeg)
图片中有10个txt文件,现在我需要在这些文件名的前面全部加一个“学生”,可以吗?见证奇迹的时刻到了。
![75bd88b5060513a872e6bdd1240a10cf.png](https://i-blog.csdnimg.cn/blog_migrate/41f583acf7d61cd87382c289f8adb785.jpeg)
我是怎么做到的那?上代码
import oscwd=os.getcwd()res=os.listdir(cwd)for i in res: if ".txt" in i: os.rename(os.path.join(cwd,i),os.path.join(cwd,'学生'+i))
这个代码其实有些复杂,你还可以自己修改,我在这里就不改了,给大家简单说一些这些代码都是什么意思?
- os.listdir() 获得文件夹内的文件列表 返回值时一个列表
- os.getcwd() 获得当前默认的工作木乱
- if ".txt" in i 判断文件名中是否包含“.txt” 简介判断文件类型
- os.rename()对文件进行重命名 这里使用的是绝对路径
- os.path.join 将路径和文件名拼接成一个绝对路径
很多人可能觉得太难了,没关系,我这里有简单的写法,一行代码搞定:
dir|ForEach-Object {rename-item $_.name 学生$_}
然后我告诉大家怎么做。
![d838a46864cdb520b508c4a691569ce7.png](https://i-blog.csdnimg.cn/blog_migrate/a175fb177c1e5903a624f1cfdf681a93.jpeg)
在你需要批量改名的文件夹按住shift,再单击右键,选择从此处打开powershell,打开powershell之后,直接输入我给的代码就可以了,我给大家解释一下这个代码是什么意思
- dir 输入当前目录的文件列表
- | 管道符
- ForEach-Object 对管道之前的每一个对象操作
- {} powershell以{} 来区分代码块
- rename-item 重命名文件
- $_ 固定写法,用于表示管道接受的对象
你学会了吗?