使用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. 深入浅出java的Map

    HashMap的组成 首先了解数组和链表两个数据结构 1.数组 寻址容易,插入和删除元素困难 数组由于是紧凑连续存储,可以随机访问,通过索引快速找到对应元素,而且相对节约存储空间. 但正因为连续存储, ...

  2. 使用spark将内存中的数据写入到hive表中

    使用spark将内存中的数据写入到hive表中 hive-site.xml <?xml version="1.0" encoding="UTF-8" st ...

  3. db2密码中有感叹号时,连接方法

    在脚本文件中,可以将密码用单引号括起来 db2 "connect  to testdb user test_user using 'Gb2Zk1!R'"

  4. 在wildfly中使用SAML协议连接keycloak

    目录 简介 OpenID Connect和SAML SAML的工作流程 在keycloak中使用SAML 准备wildfy和应用程序 简介 我们知道SSO的两个常用的协议分别是SAML和OpenID ...

  5. 浅析Linux 64位系统虚拟地址和物理地址的映射及验证方法

    虚拟内存 先简单介绍一下操作系统中为什么会有虚拟地址和物理地址的区别.因为Linux中有进程的概念,那么每个进程都有自己的独立的地址空间. 现在的操作系统都是64bit的,也就是说如果在用户态的进程中 ...

  6. 用matlab提取jpg曲线数据或者jpg图片重新复原

    I = imread('111.jpg');%读取处理好的图片,必须是严格坐标轴线为边界的图片 I=rgb2gray(I); %灰度变化 I(I>200)=255; %二值化 I(I<=2 ...

  7. 灯光设置(light)

    clc;clear all;close all; %% 台灯的设置figure('color','k')% 底座fill3([0 1 1 0],[0 0 1 1],[0 0 0 0],'b',... ...

  8. select * from 多张表的用法

    select * from 多张表的用法   其实就是 inner join   select * from Class c,Student s where c.ClassID=s.ClassID   ...

  9. 在项目中随手把haseMap改成了currenHaseMap差点被公司给开除了。

    前言 在项目中随手把haseMap改成了currenHaseMap差点被公司给开除了. 判断相等 字符串判断相等 String str1 = null; String str2 = "jav ...

  10. [leetcode]53Maximum Subarray动态规划经典题目:最大子串问题

    /** * Find the contiguous subarray within an array (containing at least one number) * which has the ...