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. TCC 分布式事务解决方案

    更多内容,前往 IT-BLOG 一.什么是 TCC事务 TCC 是Try.Confirm.Cancel三个词语的缩写,TCC要求每个分支事务实现三个操作:预处理Try.确认Confirm.撤销Canc ...

  2. 如何快速体验ChatGPT-4模型

    OpenAI免费版基于Gpt3.5,无法使用最新发布的 GPT-4 模型,必须开通 ChatGPT Plus.但是 OpenAI 不但屏蔽了中国的 IP 地址,连国内的 Visa 信用卡也一同屏蔽,即 ...

  3. 电商平台趋势妙手采集类API接口

    电商平台趋势,平台化.大家可以看到大的电商都开始有自己的平台,其实这个道理很清楚,就是因为这是充分利用自己的流量.自己的商品和服务大效益化的一个过程,因为有平台,可以利用全社会的资源弥补自己商品的丰富 ...

  4. 《Flask Web 开发指南 pt.2》

    哈喽大家好,我是咸鱼 在<Flask Web 开发指南 pt.1>中,咸鱼跟大家介绍了 Flask 的由来--诞生于一个愚人节玩笑,简单介绍了一些关于 Flask 的概念,并且编写了一个简 ...

  5. kali 安装beef-xss (含输入正确密码却登录不了本机无法打开beef提示找不到服务器404常见解决办法)

    1:安装beef 2:修改配置文件 3:浏览器打开地址127.0.0.1:3000/ui/panel 常见问题解决本文最后 kali 打开终端 输入apt-get install beef-xss - ...

  6. mysql迁移:ibd表空间迁移库表

    问题描述:将一个库中的表迁移到另一个数据库或实例下,利用ibd文件物理迁移,可适用情况为数据库起不来,强制迁移数据文件恢复 将数据库中的zabbix数据迁移到另一个库中 frm:存储表的列信息 ibd ...

  7. docker 配置 Mysql主从集群

    docker 配置Mysql集群 Docker version 20.10.17, build 100c701 MySQL Image version: 8.0.32 Docker container ...

  8. 使用Python代码远程连接服务器

    目录 一.paramiko模块的介绍 二.基本使用(用户名密码登录) 三.用公钥私钥连接 一.paramiko模块的介绍 模块介绍 使用Python的第三方模块paramiko实现远程连接服务器 功能 ...

  9. docker-compose一键部署java开源项目

    这一年干的很多事都是为了降低我的开源项目消息推送平台austin使用门槛. 如果想学Java项目的,强烈推荐我的开源项目消息推送平台Austin(8K stars) ,可以用作毕业设计,可以用作校招, ...

  10. [双目视差] 单双目MATLAB 相机标定(二)双目摄像机标定

    文章目录 单双目MATLAB 相机标定(二)双目摄像机标定 一.环境准备 二.标定过程 单双目MATLAB 相机标定(二)双目摄像机标定 一.环境准备 MATLAB R2014a+windows7 6 ...