Python实现批量更换指定目录下文件扩展名的方法
发布时间:2016-12-04 08:52:52 所属栏目:Asp教程 来源:网络整理
导读:本文实例讲述了Python实现批量更换指定目录下文件扩展名的方法。分享给大家供大家参考,具体如下: #encoding=utf-8#author: walker#date: 2013-12-06#function: 深度遍历指定目录,更换指定扩展名import osimport os.path#读入指定目录并转换为绝对路径ro
|
本文实例讲述了Python实现批量更换指定目录下文件扩展名的方法。分享给大家供大家参考,具体如下:
#encoding=utf-8
#author: walker
#date: 2013-12-06
#function: 深度遍历指定目录,更换指定扩展名
import os
import os.path
#读入指定目录并转换为绝对路径
rootdir = raw_input('root dir:n')
rootdir = os.path.abspath(rootdir)
print('absolute path:n' + rootdir)
#读入原扩展名并标准化
old_ext = raw_input('old extension:n')
old_ext = old_ext.strip()
if old_ext[0] != '.':
old_ext = '.' + old_ext
#读入新扩展名并标准化
new_ext = raw_input('new extension:n')
new_ext = new_ext.strip()
if new_ext[0] != '.':
new_ext = '.' + new_ext
for parent, dirnames, filenames in os.walk(rootdir):
for filename in filenames:
pathfile = os.path.join(parent, filename)
if pathfile.endswith(old_ext):
new_pathfile = os.path.splitext(pathfile)[0] + new_ext
print('=======================================================')
print(pathfile)
print('-------------------------------------------------------')
print(new_pathfile)
print('=======================================================')
os.rename(pathfile, new_pathfile)
PS:上述功能一个shell命令也可以实现 #将后缀.ini换成.txt #路径名可以是相对路径或绝对路径 find 路径名 | rename 's/.ini$/.txt/' 注意,上面的rename命令是perl版的rename命令。 PS2:scandir的兼容代码。 # Use the built-in version of scandir/walk if possible, otherwise # use the scandir module version try: from os import scandir, walk #python3.5+ except ImportError: from scandir import scandir, walk #python3.4- 更多关于Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《Python URL操作技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》 希望本文所述对大家Python程序设计有所帮助。 (编辑:佛山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

