使用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】简单的脚本,轻松批量修改文件名称的更多相关文章

  1. node批量修改文件名称

    let fs = require('fs');//引用文件系统模块 let PATH = `./app_zijietiaodong/`;//当前文件夹 let ext = { readFileList ...

  2. Java实现批量修改文件名称

    import java.io.File; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; /** ...

  3. php实现批量修改文件名称

    场景叙述:比如我要将D:\WWW\img\Gastroenterology这个文件夹下图片要重新命名成1.jpg,2.jpg.......这样的有规律名字, 如下图: 那么我们就可以利用php的ren ...

  4. php批量修改文件名称

    <?php//利用PHP目录和文件函数遍历用户给出目录的所有的文件和文件夹,修改文件名称function fRename($dirname){ if(!is_dir($dirname)){ ec ...

  5. python批量修改文件名称

    参考文章:http://www.cnblogs.com/ma6174/archive/2012/05/04/2482378.html 最近遇到一个问题,在网上下载了一批视频课程,需要将每节课的名称标号 ...

  6. windows powershell上批量修改文件名称

    $i = Get-ChildItem -Path c:\pictures -Filter *.jpg | ForEach-Object { $extension = $_.Extension $new ...

  7. IO流-批量修改文件名称案例

    /* *   源文件名:   桌面-我们今天学习IO流了哈哈哈哈-001.jpg *   修改后文件名:  桌面-000x.jpg */public class File_listFiles_upda ...

  8. excel批量修改文件名称

    步骤: 1. 然后将标准号所在的列复制三份到旁边相邻的空白列 2. 使用方方格子让三列中最左面的列只保存如下格式的数据: DB37/T或DB37/ 3. 使用方方格子让三列中中间的列的只保存如下格式的 ...

  9. 用shell脚本批量修改文件后缀名

    早上本想将一些照片上传到相册中,但是由于所有照片的扩展名都是JPG而不是小写的jpg,因此造成了“格式不正确”而不能上传照片.此刻就产生了这样一个问题:使用shell脚本如何批量将所有文件的扩展名JP ...

随机推荐

  1. [日常摸鱼]luogu1613跑路

    新年A的第一道题2333 https://www.luogu.org/problemnew/show/P1613 题意:给一张有向图,每条边长为1,每个单位时间只能走$2^k$的长度,$k$可以任意选 ...

  2. Java项目连接数据库Mysql报错create connection SQLException

    今天编写了一个Java项目,对数据库Mysql的表进行增删改查,然后遇到了这个问题 严重: create connection SQLException, url: jdbc:mysql://loca ...

  3. 54 个官方 Spring Boot Starters 出炉!别再重复造轮子了…….

    在之前的文章,栈长介绍了 Spring Boot Starters,不清楚的可以点击链接进去看下. 前段时间 Spring Boot 2.4.0 也发布了,本文栈长再详细总结下最新的 Spring B ...

  4. Python利用openpyxl带格式统计数据(2)- 处理mysql数据

    上一篇些了openpyxl处理excel数据,再写一篇处理mysql数据的,还是老规矩,贴图,要处理的数据截图: 再贴最终要求的统计格式截图: 第三贴代码: 1 ''' 2 #利用openpyxl向e ...

  5. jquery ajax return不起作用

    jquery的ajax方法:在success中使用return:来结束程序的时候,结束的只是success这个方法,也就是说success中的return的作用范围只是success: 如果要想在su ...

  6. C#中获取DataTable某一列的值转换为集合

    直接使用 //Linqvar l1 = (from d in dt.AsEnumerable() select d.Field<int>("ID")).ToList() ...

  7. MySQL获取上月第一天、上月最后日、本月第一天、本月最后日的方法

    直接贴SQL语句了 #上月第一天 SELECT DATE_FORMAT(DATE_SUB(CURDATE(),INTERVAL 1 MONTH),'%Y-%m-01'); #上月最后日 SELECT ...

  8. ASP.NET中二进制流下载文件时进度条的使用

    说明 在下载大文件时,页面会进入假死状态,于是加上一个进度条以标识后台程序正在运行. 目前,做的进度条并不是实时的,并不会根据程序执行的进度正确显示. 目前是将进度条定时加载到90%,然后停止,等待后 ...

  9. Linq基础知识

    开发人员不需要关心将要访问的是关系数据库还是XML数据,或是远程对象,它都采用同样的访问方式. Linq包含一系列的查询技术,其中Linq到对象是对内存进行操作,LINQ到SQL是对数据库的操作,LI ...

  10. 【mybatis-plus】什么是乐观锁?如何实现“乐观锁”

    "乐观锁"这个词以前我也没听过.上次在测试需求的时候,查询数据库发现有一个version字段,于是请教开发这个字干嘛使, 人家回复我:乐观锁,解决并发更新用的.当时大家都忙,咱也不 ...