python文件后缀替换_Python批量更换指定目录文件的扩展名

#encoding: utf-8

#author: walker

#date: 2013-12-06

#summary: 深度遍历指定目录,更换指定扩展名

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-

*** walker ***

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值