【Python入门教程】批量修改文件名,批量移动文件
Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言。本篇文章是“Python教程”专栏的第一篇文章,本专栏旨在与读者共同交流Python学习过程中遇到的一些问题。
os的全称为Operating System,即操作系统。Python的os库是一个操作系统接口模块,提供一些方便使用操作系统相关功能的函数,可以进行文件/文件夹的打开,关闭等等与系统相关的操作。
os.rename函数可以将文件重命名或者对路径重命名实现文件夹的移动,其中包含两个参数:src代表原始路径及文件名,dst代表修改后的路径及文件名。
os.listdir函数用于返回指定的文件夹包含的文件或文件夹的名字的列表,参数为文件夹的目录。
本文分享做项目时用到的批量修改文件名、移动文件的相关代码,仅作为学习交流使用!!!
一、批量重命名

上图是我从百度上下载的宠物狗图片,其格式为WEBP,我如果想让它变成JPG格式,一个个重命名就太浪费时间了,我们可以使用Python的os库直接批量重命名处理。可以通过(1、2、3、4)这种顺序命名,也可以自己决定。
下面是完整代码,因为只涉及两个函数,所以语句比较简单。这里使用了一个for循环,用来遍历目录中所有的文件,os.listdir函数是将目录中所有文件名以列表的形式展开,可以使用print(os.listdir('G:/'))来查看列表的形式,os.rename函数用来对文件重命名或者修改路径:
# -*- coding: utf-8 -*-
"""
@Time : 2023/4/12 15:50
@Auth : RS迷途小书童
@File :批量重命名.py
@IDE :PyCharm
"""
import os
# 导入os库
lists = os.listdir('G:/1')
# 获取指定文件夹下所有文件名
# lists包含文件夹下所有的文件名
n = 1
# 定义一个变量,这里我是希望重新对图片进行编号,所以需要这个变量
for list1 in lists:
# 遍历lists中的所有文件名
os.rename('G:/1/' + list1, 'G:/1/' + str(n) + ".jpg")
# 前者是旧名称,前面是文件所在位置,后面是文件名(这里使用for循环遍历了lists,所以list1就是当前的文件名)。
# 后面是新名称,前面是文件要放的位置,后面是文件名,可以自己修改(例如这里我是通过变量n,将图片从1开始编号),还可以修改文件格式(后面+你想变成的格式)
n = n + 1
程序运行效果图:
如果想要重命名成其他的名字,如日期、原名、自定义名等,可以自行修改,文章后面有相关的说明。

二、 批量移动文件
要想完成文件的移动操作,只需要将上面完整的代码中的第二个'G:/1/'修改成你想移动的路径就行了。这样原路径下的所有文件都会移动到新的目录下,其原理其实不算是移动,只是修改了路径,但实现效果就是移动的样子,主要是因为可以同时重命名和修改路径,所以一般我都采用os.rename这个函数,主打一个“懒”字。
os.rename('G:/1/' + list1, 'G:/1/' + str(n) + ".jpg")
例如,这里我将其修改为'F:/new/':
os.rename('G:/1/' + list1, 'F:/new/' + str(n) + ".jpg")
这样该文件夹下所有的文件就都移动到F盘中的new文件夹中了。如果你想保留原来的名字,就不用动后面的参数,只修改前面的路径即可。如这里修改后和修改前都是list1,只有前面的路径不一样,这样就实现了文件的移动。
相关代码如下:
os.rename('G:/1/' + list1, 'F:/new/' + list1)
因为本次项目实现的功能简单,所以代码编写格式没有非常规范,仅限大家学习交流!如果有问题可以随时留言,大家一起学习进步!!!
后续博主会持续更新Python的相关教程,同时分享一些代码,大家一起交流学习。如果大家有Python或者ENVI相关的问题
【Python入门教程】批量修改文件名,批量移动文件的更多相关文章
- python:批量修改文件名批量修改图片尺寸
批量修改文件名 参考博客:https://www.cnblogs.com/zf-blog/p/7880126.html 功能:批量修改文件名 1 2 3 4 5 6 7 8 9 10 11 12 1 ...
- Python 批量修改文件名并移动文件到指定目录
# -*- coding: utf-8 -*- import os, sys,re,shutil from nt import chdir #读取中文路径 u'' path=u"D:\\zh ...
- 利用 Python 批量修改文件名
开发的第一步,首先得熟悉脚本中使用的模块函数,废话不多说,开干! 1 函数介绍 1.1 os 模块 (1)os.lisdir() >>> import os >>> ...
- 用python批量修改文件名
从youtube上当下来百来首mv,每个都需要去掉视频,这还挺好弄得,格式工厂一弄就完了,但是文件名,都带有乱七八糟的*啥的巴拉巴拉的,咋修改啊,几百首总不可能一个一个rename吧 #批量修改文件名 ...
- ML二:python批量修改文件名-测试KDTree
(1):#批量修改文件名 import os import numpy as np import string import shutil prefix =''#单引号,前缀! sufix ='txt ...
- [转载][记录]shell 批量修改文件名
参考了:[新手入门] shell脚本批量修改文件名 4楼回复 我刚好是在vagrant+ubuntu中进行开发,windows手动修改太麻烦. #!/bin/ksh ls *.htm | while ...
- shell脚本:批量修改文件名
参考链接1:shell脚本:批量修改文件名(删除文件名中字符) 参考链接2:linux shell 字符串操作详解 (长度,读取,替换,截取,连接,对比,删除,位置 ) 参考链接3:每天一个linux ...
- 使用Java中File类批量创建文件和批量修改文件名
批量创建文件 int cont = 1; String s = "E:\\学习资料\\Java笔记-"; while(cont<100){ File f = new File ...
- Linux下find一次查找多个指定类型文件,指定文件或者排除某类文件,在 GREP 中匹配多个关键 批量修改文件名等
http://blog.sina.com.cn/s/blog_62e7fe670101dg9d.html linux下二进制文件查找: strings 0000.ts | grep -o " ...
- linux批量修改文件名的shell脚本
linux中批量修改文件名的shell脚本代码,主要是使用了rename,结合shell,喜欢的朋友可以参考下 使用 rename 命令 ======================== NAME ...
随机推荐
- GOROOT、GOPATH、Go Modules 三者的关系介绍
GOROOT GOROOT路径即为存放Golang语言内建的程序库的所在位置,简单地说就是Golang的安装路径 若按照Folang-Download and install流程,则由go env命令 ...
- 利用复杂数据类型(eg:对象)时,是直接调用属性快,还是先用变量填装使用快
为了验证,我用时间戳去尝试 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta ch ...
- java 实现文件夹上传(springBoot 框架)
有时我们后台管理等服务可能会有这样一个简单需求,就是根据文件夹将整个文件夹下的所有资源都上传到我们的服务器上,本人也是搜索了大量资料,最终以最简单便捷的方式实现该功能,具体操作步骤如下 一.前端如何设 ...
- PHP 微信三方平台代公众号发起网页授权 获取用户信息
1.获取code 2.通过授权回调地址的code获取用户access_token和open_id 3.通过access_token和open_id 获取用户基本信息 class wx_user { p ...
- vue中实用小技巧,长期更新
1.在vue 中使用webpack require.context工程化配置组件,不用一个一个import注册了 main.js中 import Vue from 'vue'//使用lodsh插件im ...
- WAL模块主要方法简述
Method---wal.go Description func Create(lg *zap.Logger, dirpath string, metadata []byte) (*WAL, erro ...
- MordernC++之左值(引用)与右值(引用)
左值与右值 C++中左值与右值的概念是从C中继承而来,一种简单的定义是左值能够出现再表达式的左边或者右边,而右值只能出现在表达式的右边. int a = 5; // a是左值,5是右值 int b = ...
- Matlab蚁群算法求解旅行商问题
目录 问题展现 解决代码 代码1 输出结果 代码2 输出结果 代码3 输出结果 问题展现 假设有一个旅行商人要拜访全国 31 个省会城市,他需要选择所要走的路径,路径的限制是每个城市只能拜访一次,而且 ...
- elasticsearch升级和索引重建。
1.背景描述 2020年团队决定对elasticsearch升级.es(elasticsearch缩写,下同)当前版本为0.9x,升级到5.x版本.es在本公司承载三个部分的业务,站内查询,订单数 ...
- [Pytorch框架] 5.1 kaggle介绍
文章目录 5.1 kaggle介绍 5.1.1 Kaggle 平台简介 比赛介绍 5.1.2 Kaggle板块介绍 Data Rules Team Kernels Discussion Leaderb ...