本文实例为大家分享了python实现遍历文件夹修改文件后缀的具体代码,供大家参考,具体内容如下

用法 python Modifer.py ./ -fp java xml

# coding:utf-8

# Build by LandGrey 2016-05-27

import os

import sys

#批量修改路径与文件名

def Modifyprefix(Path,oldcontent,newcontent):

all_file_list = os.listdir(Path) #列出指定目录下的所有文件

for file_name in all_file_list:

currentdir =os.path.join(Path, file_name) #连接指定的路径和文件名or文件夹名字

if os.path.isdir(currentdir): #如果当前路径是文件夹,则跳过

Modifyprefix(currentdir,oldcontent,newcontent)

fname = os.path.splitext(file_name)[0] #分解出当前的文件路径名字

ftype = os.path.splitext(file_name)[1] #分解出当前的文件扩展名

if oldcontent in fname:

fdcount[0]+=1

replname =fname.replace(oldcontent,newcontent) #将原文件名中的'oldcontent'字符串内容全替换为'newcontent'字符串内容

newname = os.path.join(Path,replname+ftype) #文件路径与新的文件名字+原来的扩展名

os.rename(currentdir,newname) #重命名

#批量修改文件扩展名(后缀)

def Modifypostfix(Path,oldftype,newftype):

all_file_list = os.listdir(Path) #列出指定目录下的所有文件

for file_name in all_file_list:

currentdir =os.path.join(Path,file_name)

if os.path.isdir(currentdir): #迭代

Modifypostfix(currentdir,oldftype,newftype)

fname = os.path.splitext(file_name)[0]

ftype = os.path.splitext(file_name)[1]

if oldftype in ftype[1:]: #找到需要修改的扩展名

typecount[0]+=1

ftype=ftype.replace(oldftype,newftype)

newname = os.path.join(Path,fname+ftype) #文件路径与原来的文件名字+新的扩展名

os.rename(currentdir,newname) #重命名

def Useage():

print unicode("\n[+] 用法: python Modifer.py [指定目录] [选项] [参数1] [参数2]","utf-8")

print unicode("[+] 选项 [-fd] :批量修改目录和文件名 [参数1]: 需要替换的字符 [参数2]:替换字符串","utf-8")

print unicode("[+] 选项 [-fp] :批量修改文件后缀名 [参数1]: 原后缀名 [参数2]:需要替换的后缀名","utf-8")

print unicode("[+] 选项 [-all] :批量修改目录、文件名和文件后缀名 [参数1]: 需要替换的字符部分 [参数2]:替换字符串","utf-8")

print unicode(r"[+] 用法示例:python Modifer.py D:\files -fp txt data","utf-8")

if __name__=="__main__":

typecount=[0]

fdcount=[0]

if len(sys.argv)==2 and "-h" in sys.argv[1]:

Useage()

sys.exit()

elif len(sys.argv) !=5:

print unicode("\n[+] 参数错误 !\n","utf-8")

print unicode("[+] 用 -h 或--help 参数查看Modifer.py用法","utf-8")

sys.exit()

elif os.path.isdir(sys.argv[1]) is False:

print unicode("\n[+] 指定目录错误 ! 请检查输入路径是否正确,路径中不能有空格\n","utf-8")

print unicode("[+] 用 -h 或--help 参数查看Modifer.py用法","utf-8")

sys.exit()

elif sys.argv[2]=="-fd":

Modifyprefix(sys.argv[1],sys.argv[3],sys.argv[4])

print unicode("\n[+] Modifer.py Build by LandGrey","utf-8")

print unicode("[+] 完成 !","utf-8")

print unicode("[+] 共修改%s个目录和文件名"%fdcount[0],"utf-8")

elif sys.argv[2]=="-fp":

Modifypostfix(sys.argv[1],sys.argv[3],sys.argv[4])

print unicode("\n[+] Modifer.py Build by LandGrey","utf-8")

print unicode("[+] 完成 !","utf-8")

print unicode("[+] 共修改%s个后缀名"%typecount[0],"utf-8")

elif sys.argv[2]=="-all":

Modifypostfix(sys.argv[1],sys.argv[3],sys.argv[4])

Modifyprefix(sys.argv[1],sys.argv[3],sys.argv[4])

print unicode("\n[+] Modifer.py Build by LandGrey","utf-8")

print unicode("[+] 完成 !","utf-8")

print unicode("[+] 共修改%s个目录名、文件名和后缀名"%(typecount[0]+fdcount[0]),"utf-8")

else:

print unicode("\n[+] 选项错误 !\n","utf-8")

print unicode("[+] 用 -h 或--help 参数查看Modifer.py用法","utf-8")

sys.exit()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

python修改文件后缀_python实现遍历文件夹修改文件后缀相关推荐

  1. python批量分析表格_python批量设置多个Excel文件页眉页脚的脚本

    python批量设置多个Excel文件页眉页脚的脚本 本文实例为大家分享了python批量设置多个Excel文件页眉页脚的具体代码,供大家参考,具体内容如下 import os import open ...

  2. python下载加密视频_Python下载未加密的m3u8文件(流媒体文件)

    很多时候我们用手机浏览器缓存视频时发现缓存下来的文件后缀是.m3u8格式的,按文件目录找过去发现是一个几十K大小的系统不可读的文件,那我们缓存下来的文件去哪儿了呢? 其实.m3u8文件就相当于一个协议 ...

  3. python的codecs模块_Python:使用codecs模块进行文件操作及消除文件中的BOM

    前言 此前遇到过UTF8格式的文件有无BOM的导致的问题,最近在做自动化测试,读写配置文件时又遇到类似的问题,和此前一样,又是折腾了挺久之后,通过工具比较才知道原因. image 两次在一个问题上面栽 ...

  4. python scapy 抓包_python 抓包保存为pcap文件并解析的实例

    首先是抓包,使用scapy模块, sniff()函数 在其中参数为本地文件路径时,操作为打开本地文件 若参数为BPF过滤规则和回调函数,则进行Sniff,回调函数用于对Sniff到的数据包进行处理 i ...

  5. python 读取内存二叉树_Python 二叉树遍历的优雅写法

    (本文代码放到了 自己的网站) 我们从二叉树的顺序存储说起. 我们知道,对于一个完全二叉树,做广度优先搜索的话,每个节点对应的序号是固定的. 例如,下面这个二叉树 这个二叉树和一个顺序存储相互可以唯一 ...

  6. java文件tree目录_java 遍历目录,操作文件 tree命令

    用tree命令显示目录.文件结构 有时候我们想了解一个文件夹或者驱动器根目录下的所有文件,并希望它以资源管理器的树形视图方式显示文件结构.可以在"命令提示符"窗口中输入" ...

  7. python遍历目录下所有文件_Python递归遍历目录下所有文件

    #自定义函数: importos path="D:\\Temp_del\\a" defgci (path):"""this is a statemen ...

  8. python调用文件下载接口_python接口自动化21-下载excel文件(Content-Type:octets/stream)...

    前言 Content-Type类型为octets/stream,这种一般是文件类型了,比如有时候需要导出excel数据,下载excel这种场景如何用python来实现呢? 抓下载接口 1.下载的场景如 ...

  9. python查询文件软件_Python小工具--多文件查找字符串fs

    前几天,在看Android的makefile时,为方便自己在make文件查找字符串,用perl写了个小工具,实现的功能就是在目录下的多个文本文件中查找字符串.那个工具在同事的帮助下,已经实现了不少功能 ...

最新文章

  1. pythonsocket自动化教程_python---socket自动化交互
  2. load balancer 配置参考
  3. Xilinx的ISE14.7和PlanAhead与win10系统的兼容性问题解决方案
  4. matlab的input函数总结
  5. Linux Signals 进程信号简介
  6. wxWidgets:wxStdInputStream类用法
  7. vue 修改对象的值视图没有发生改变_在vue中处理对象属性改变视图不更新问题? - echart...
  8. 离散数学引发的脑科学思考
  9. 作业5.2 5.3
  10. 程序员在家办公没显示屏,我被领导鄙视了
  11. Win10磁盘分区工具-无损分区助手
  12. dota2地区服务器延迟,DOTA2 TI8预选赛:南美服务器爆炸比赛延迟
  13. 扫雷php,扫雷php
  14. 剑指offer系列之树(p61-63)
  15. 松下A6伺服速度控制模式
  16. MySQL查询和删除重复记录
  17. 谷歌PR权重 Google PR与百度权重
  18. Qt 错误提示1: invalid use of incomplete type ‘***‘
  19. C语言——codeforces746B
  20. 2022中国健康展,睡眠健康,生活健康展,药食同源,大健康展

热门文章

  1. sklearn自学指南(part25)--正交分解
  2. 20应用统计考研复试要点(part20)--概率论与数理统计
  3. 计算机安全相关的会议和期刊,中国计算机学会推荐国际学术刊物与会议网络与信息安全...
  4. svm多分类代码_跟我一起机器学习系列文章知识点与代码索引目录,持续更新…...
  5. core文件怎么分析_c++ crash 分析工具:breakpad
  6. SAP UI5 batch 请求的响应解析流程分析
  7. 如何修改Cypress 测试代码中默认的超时时间(timeout)
  8. SAP Spartacus翻译 i18n - internationalization 的工作原理
  9. 关于Angular Component changeDetection策略设置成OnPush的一个单元测试局限性
  10. Spring Bean的继承