【Python】简单的脚本,轻松批量修改文件名称
使用python脚本,批量修改文件夹名称
先创建一些没用的案例文件
import os
#创建新文件夹
dir = os.makedirs('D:\\SomeThing\\testfile')
#将文件目录指定到新建的文件目录下
os.chdir('D:\\SomeThing\\testfile')
print(os.getcwd())#确认当前目录
#用open函数创建文件
#使用join拼写目录
for i in range(1,101):
a = os.path.join('D:\\SomeThing\\testfile',str(i)+'a.txt')
c = open(a,'w')
c.close()
#遍历文件夹下的所有文件
print(os.listdir())
注意str(i)+'a.txt'
完成后的界面如图:

完成后,通过下面的python脚本进行批量修改
import os, os.path, time
def rename(file, keyword):
''' file: 文件路径 keyWord: 需要修改的文件中所包含的关键字 '''
start = time.clock()
os.chdir(file)
items = os.listdir(file)
print(os.getcwd())
for name in items:
print(name)
# 遍历所有文件
if not os.path.isdir(name):
if keyword in name:
new_name = name.replace(keyword, '多余的内容')
os.renames(name, new_name)
else:
rename(file + '\\' + name, keyword)
os.chdir('...')
print('-----------------------分界线------------------------')
items = os.listdir(file)
for name in items:
print(name)
rename('D:\\SomeThing\\testfile', 'a')
这就是批量替换的其中一步,可以批量替换文件名称。 将文件中含有“a”的内容全部替换为“多余的内容”
如图所示:

如果想回到清爽的数字.txt格式,可以修改代码如下:
import os, os.path, time
def rename(file, keyword):
''' file: 文件路径 keyWord: 需要修改的文件中所包含的关键字 '''
start = time.clock()
os.chdir(file)
items = os.listdir(file)
print(os.getcwd())
for name in items:
print(name)
# 遍历所有文件
if not os.path.isdir(name):
if keyword in name:
new_name = name.replace(keyword, '')
os.renames(name, new_name)
else:
rename(file + '\\' + name, keyword)
os.chdir('...')
print('-----------------------分界线------------------------')
items = os.listdir(file)
for name in items:
print(name)
rename('D:\\SomeThing\\testfile', '多余的内容')
将new_name = name.replace(keyword, '') 中的单引号的内容清空。
在rename('D:\\SomeThing\\testfile', '多余的内容') 中将a修改为多余的内容。
再次执行
如图:

本代码可举一反三。
【Python】简单的脚本,轻松批量修改文件名称的更多相关文章
- node批量修改文件名称
let fs = require('fs');//引用文件系统模块 let PATH = `./app_zijietiaodong/`;//当前文件夹 let ext = { readFileList ...
- Java实现批量修改文件名称
import java.io.File; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; /** ...
- php实现批量修改文件名称
场景叙述:比如我要将D:\WWW\img\Gastroenterology这个文件夹下图片要重新命名成1.jpg,2.jpg.......这样的有规律名字, 如下图: 那么我们就可以利用php的ren ...
- php批量修改文件名称
<?php//利用PHP目录和文件函数遍历用户给出目录的所有的文件和文件夹,修改文件名称function fRename($dirname){ if(!is_dir($dirname)){ ec ...
- python批量修改文件名称
参考文章:http://www.cnblogs.com/ma6174/archive/2012/05/04/2482378.html 最近遇到一个问题,在网上下载了一批视频课程,需要将每节课的名称标号 ...
- windows powershell上批量修改文件名称
$i = Get-ChildItem -Path c:\pictures -Filter *.jpg | ForEach-Object { $extension = $_.Extension $new ...
- IO流-批量修改文件名称案例
/* * 源文件名: 桌面-我们今天学习IO流了哈哈哈哈-001.jpg * 修改后文件名: 桌面-000x.jpg */public class File_listFiles_upda ...
- excel批量修改文件名称
步骤: 1. 然后将标准号所在的列复制三份到旁边相邻的空白列 2. 使用方方格子让三列中最左面的列只保存如下格式的数据: DB37/T或DB37/ 3. 使用方方格子让三列中中间的列的只保存如下格式的 ...
- 用shell脚本批量修改文件后缀名
早上本想将一些照片上传到相册中,但是由于所有照片的扩展名都是JPG而不是小写的jpg,因此造成了“格式不正确”而不能上传照片.此刻就产生了这样一个问题:使用shell脚本如何批量将所有文件的扩展名JP ...
随机推荐
- 程序员必读的 99 本书籍 & 资源
作为程序员,始终要保持学习,一直带着纸质书还是很不便的,因此电子书对于我们还是挺需要的.为了方便广大的小伙伴也能方便找到对应的电子书,我花费洪荒之力从各个搜索网站收集了几百本常用的电子书,找到了,我要 ...
- Mysql锁机制--悲观锁和乐观锁
1. 悲观锁简介 悲观锁(Pessimistic Concurrency Control,缩写PCC),它指的是对数据被外界修改持保守态度,因此,在整个数据处理过程中, 将数据处于锁定状态.悲观锁的实 ...
- Sql Server 数据把列根据指定的内容拆分数据
今天由于工作需要,需要把数据把列根据指定的内容拆分数据 其中一条数据实例 select id , XXXX FROM BIZ_PAPER where id ='4af210ec675927fa016 ...
- elasticsearch-head 配置
elasticsearch-head install node.js Download node.js: 将下载的包,解压并配置环境变量 vim /etc/profile #set for n ...
- windows 上的MySQL默认字符集设置踩过的坑
前言: 前几天刚买了新电脑,装上MySQL有几天了,今天没事试了一下,发现默认字符集没有修改,还是默认的latin1,折腾了大半天,终于搞好了. 这是我成功设置后的结果图: 命令式直接在MySQL界面 ...
- 精尽Spring MVC源码分析 - HandlerAdapter 组件(三)之 HandlerMethodArgumentResolver
该系列文档是本人在学习 Spring MVC 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释 Spring MVC 源码分析 GitHub 地址 进行阅读 Spring 版本:5.2. ...
- 处理fMRI数据的一些常用Matlab命令
背景 处理fMRI数据常常用到MATLAB,在此记录一些常用代码及功能. 1.读取原始DICOM数据 1-1 读入dicom图像并绘图: Image = dicomread('fMRI.dcm'); ...
- Javascript 根据文件名判断是否未图片
var isImage = (/\.(gif|jpe?g|tiff?|png|webp|bmp)$/i).test(filename)
- Web服务器-并发服务器-Epoll(3.4.5)
@ 目录 1.介绍 2.代码 关于作者 1.介绍 epoll是一种解决方案,nginx就是用的这个 中心思想:不要再使用多进程,多线程了,使用单进程,单线程去实现并发 在上面博客实现的代码中使用过的轮 ...
- 【磁盘/文件系统】第二篇:标准磁盘分区流程针对fdisk(硬盘容量小于2T且分区数不能大于15个分区)
前奏:先插上一块磁盘(做了RAID的磁盘才能分区) 查看磁盘连上服务器没有,或者说是可以进行分区前奏 [root@PandaLi ~]# ll /dev/sd sda sda1 sda2 sda3 s ...