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入门教程】批量修改文件名,批量移动文件的更多相关文章

  1. python:批量修改文件名批量修改图片尺寸

    批量修改文件名  参考博客:https://www.cnblogs.com/zf-blog/p/7880126.html 功能:批量修改文件名 1 2 3 4 5 6 7 8 9 10 11 12 1 ...

  2. Python 批量修改文件名并移动文件到指定目录

    # -*- coding: utf-8 -*- import os, sys,re,shutil from nt import chdir #读取中文路径 u'' path=u"D:\\zh ...

  3. 利用 Python 批量修改文件名

    开发的第一步,首先得熟悉脚本中使用的模块函数,废话不多说,开干! 1 函数介绍 1.1 os 模块 (1)os.lisdir() >>> import os >>> ...

  4. 用python批量修改文件名

    从youtube上当下来百来首mv,每个都需要去掉视频,这还挺好弄得,格式工厂一弄就完了,但是文件名,都带有乱七八糟的*啥的巴拉巴拉的,咋修改啊,几百首总不可能一个一个rename吧 #批量修改文件名 ...

  5. ML二:python批量修改文件名-测试KDTree

    (1):#批量修改文件名 import os import numpy as np import string import shutil prefix =''#单引号,前缀! sufix ='txt ...

  6. [转载][记录]shell 批量修改文件名

    参考了:[新手入门] shell脚本批量修改文件名 4楼回复 我刚好是在vagrant+ubuntu中进行开发,windows手动修改太麻烦. #!/bin/ksh ls *.htm | while ...

  7. shell脚本:批量修改文件名

    参考链接1:shell脚本:批量修改文件名(删除文件名中字符) 参考链接2:linux shell 字符串操作详解 (长度,读取,替换,截取,连接,对比,删除,位置 ) 参考链接3:每天一个linux ...

  8. 使用Java中File类批量创建文件和批量修改文件名

    批量创建文件 int cont = 1; String s = "E:\\学习资料\\Java笔记-"; while(cont<100){ File f = new File ...

  9. Linux下find一次查找多个指定类型文件,指定文件或者排除某类文件,在 GREP 中匹配多个关键 批量修改文件名等

    http://blog.sina.com.cn/s/blog_62e7fe670101dg9d.html linux下二进制文件查找: strings 0000.ts | grep -o " ...

  10. linux批量修改文件名的shell脚本

    linux中批量修改文件名的shell脚本代码,主要是使用了rename,结合shell,喜欢的朋友可以参考下 使用 rename 命令  ========================  NAME ...

随机推荐

  1. Java面试——锁

    公平锁:是指多个线程按照申请锁的顺序来获取锁,有点先来后到的意思.在并发环境中,每个线程在获取锁时会先查看此锁维护的队列,如果为空,或者当前线程是等待队列的第一个,就占有锁,否则就会加入到等待队列中, ...

  2. Golang数据结构

    数据类型 不同类型的内存样式图 append,切片添加元素 清空切片的3种方法 清空切片的2种方法 查看变量类型 使用 fmt.Printf package main import "fmt ...

  3. 最简单Openwrt ipv6配置,局域网WAN6中继模式获取原生ipv6地址

    条件 condition wan 和 wan6 是默认配置     Wan and wan6 are the default configurations 同时wan6可以获取到原生IPv6     ...

  4. kubernetes核心实战(四)--- Deployments

    6.Deployments(重点) 一个 Deployment 控制器为 Pods和 ReplicaSets提供描述性的更新方式. 描述 Deployment 中的 desired state,并且 ...

  5. python之pdf转换操作 PyMuPDF库学习

    1. 资料链接github地址: pymupdf/PyMuPDF: Python bindings for MuPDF's rendering library官方手册: PyMuPDF Documen ...

  6. Laplace分布算子开发经验分享

    摘要:Laplace 用于 Laplace 分布的概率统计与随机采样. 本文分享自华为云社区<Laplace分布算子开发经验分享>,作者:李长安. 1.任务解析 详细描述: Laplace ...

  7. 【杂绪】#4 & 【Diary】CSP-S1 2021 游记(慎) & CSP-S 备赛发狂日记

    减少..减少掉 我没法同时做那么多事情了........ -------------------------------------------- 但是我\(\color{#EEEEEE}{真真切切地 ...

  8. HTTP.sys漏洞的检测和修复(附补丁包下载)

    关于这个 HTTP.sys 漏洞,查了一些资料,没有一个写的比较全的,下面我来整理下. 这个漏洞主要存在Windows+IIS的环境下,任何安装了微软IIS 6.0以上的Windows Server ...

  9. 12年经验的大龄程序员,都用什么写 API 文档?

    写代码,程序员不害怕. 写文档,每个程序员都害怕! 为什么? 技术优先,我们更倾向于将技能和精力更多地放在编写代码上,如果 API 工具不好使,不便捷,同步麻烦,测试看不懂,更会大大地打击编写文档的积 ...

  10. 关于取消DevTools listening on ws://127.0.0.1…提示的方法

    Python代码写好之后,通过任务计划程序定期执行.py文件,但总会有命令窗口,虽然不影响程序执行,但每次需要手动叉掉比较烦.于是我网上搜索了一些方法. 网上的方法并没有直接解决我的问题,但我借助搜索 ...