假设目录下面有这样一系列命令杂乱的文件:

OPENFOAM -TRAINING- PART- #1.pdf

OPENFOAM - TRAINING- PART- #2.pdf

OPENFOAM- TRAINING- PART-#3 .pdf

不仅序号被放在最后,而且还有许多多余的空格。现在批量将这些文件重命名,去掉#,并把序号挪到最前面。

import os

os.chdir('/Users/<>/python_learn/openfoam') # 把当前工作目录切换到需要进行操作的目录

for f in os.listdir():
f_name, f_ext = os.path.splitext(f) # 把文件名和扩展名分开 f_title, f_training, f_part, f_num = (f_name.split('-')) # 以`-`为分隔把文件名分解 f_title = f_title.strip() # 去掉多余的空格
f_training = f_training.strip() # 去掉多余的空格
f_part = f_part.strip() # 去掉多余的空格
f_num = f_num.strip()[1:].zfill(2) # 去掉多余的空格、去掉`#`号、非两位数自动补0(1变01) new_name = '{}-{}-{}-{}{}'.format(f_num, f_title, f_training, f_part, f_ext) # 新文件名的格式 os.rename(f, new_name) # 按新文件名重命名这些文件

利用Python批量重命名一系列文件名杂乱的文件的更多相关文章

  1. 利用Python批量重命名文件夹下文件

    #!/usr/bin/python # -*- coding: UTF-8 -*- # -*- coding:utf8 -*- import os from string import digits ...

  2. Ubuntu中利用rename批量重命名

    1.简介: 通常在机器视觉的学习过程中,需要批量处理一些图片,通常会涉及到批量重命名的问题,可以利用rename命令快速实现图片的批量重命名 2.rename命令格式: rename [-v] [-n ...

  3. Python批量重命名 工具贴(一)

    说明 由于在处理图片数据和其他数据时,经常需要对数据进行批量重命名操作,每次使用时都需要重写,非常不便,因此记录下重命名代码方便后续使用. 文件结构说明 参数说明: path为输入路径 image_t ...

  4. python批量重命名【截取文件名前六个字符 】

    #!/usr/bin/python # -*- coding: UTF-8 -*- import os, sys # 打开文件 path = "/home/landv/Desktop/l/& ...

  5. python --批量重命名文件名

    # -*- coding: utf-8 -*- import os path = "d:\\curl\data\\" for file in os.listdir(path): p ...

  6. [经典] 使用Python批量重命名iPhone拍摄的照片-按照拍摄时间重命名

    #!/usr/bin/env python # -*- coding: utf-8 -*- ''' 批量修改照片文件名称的Python脚本程序. 遍历指定目录(含子目录)的照片文件,根据拍照时间将照片 ...

  7. Python批量重命名文件

    批量替换文件名中重复字符: # -*- coding: UTF-8 -*- import os path = raw_input("请输入文件夹路径:") oldname = ra ...

  8. Python批量重命名

    某无聊的下午的一个小需求 import os dirPath = r'' #路径 format = r'' #后缀 name = 0 for file in os.listdir(dirPath): ...

  9. python 批量重命名文件后缀

    # batch_file_rename.py # Created: 6th August 2012 ''' This will batch rename a group of files in a g ...

随机推荐

  1. python3.x 浅谈修饰器

    #装饰器用法,好处#简化代码,避免重复性代码#打印日志 @log#检测性能 @performance#数据库事务 @transaction#URL路由 @post('/register') 简单例子: ...

  2. 【leetcode】986. Interval List Intersections

    题目如下: Given two lists of closed intervals, each list of intervals is pairwise disjoint and in sorted ...

  3. 【架构】Linux的架构(architecture)

    最内层是硬件,最外层是用户常用的应用,比如说firefox浏览器,evolution查看邮件,一个计算流体模型等等.硬件是物质基础,而应用提供服务.但在两者之间,还要经过一番周折. 还记得Linux启 ...

  4. L1、L2损失函数、Huber损失函数

    L1范数损失函数,也被称为最小绝对值偏差(LAD),最小绝对值误差(LAE) L2范数损失函数,也被称为最小平方误差(LSE) L2损失函数 L1损失函数 不是非常的鲁棒(robust) 鲁棒 稳定解 ...

  5. Java学习之接口

    接口作用:为类提供额外功能(方法) 一.接口定义 interface IDemo { ;//可以简写:int NUM=4; public abstract void show();//可以简写:voi ...

  6. Stimulsoft_Report纯代码实现数据绑定

    Stimulsoft_Report纯代码实现数据绑定 根据穿的参数动态绑定显示报表,涉及多表查询. 一.前台代码: [code]  <%@ Page Title="" Lan ...

  7. vb写文件时报'Invalid procedure call or argument'

    原来的一段代码是这样的: Set fso3 = CreateObject("Scripting.FileSystemObject")                  'msgbo ...

  8. Encode

    by kinsly 本文的内容均基于python3.5 编码一直是python中的大坑,反正我是一直没搞明白,今天在做爬虫的时候,觉得实在是有必要把这些东西整理一下. 什么是编码 简单的来说就是,为了 ...

  9. v-distpicker 一个好用的三级联动的插件

    // 引入插件npm install v-distpicker --save import VDistpicker from 'v-distpicker' Vue.component('v-distp ...

  10. Java中File类创建文件

    只需要调用该类的一个方法createNewFile(),但是在实际操作中需要注意一些事项,如判断文件是否存在,以及如何向新建文件中写入数据等. import java.io.*; public cla ...