Python實(shí)現(xiàn)批量更換指定目錄下文件擴(kuò)展名的方法
本文實(shí)例講述了Python實(shí)現(xiàn)批量更換指定目錄下文件擴(kuò)展名的方法。分享給大家供大家參考,具體如下:
#encoding=utf-8
#author: walker
#date: 2013-12-06
#function: 深度遍歷指定目錄,更換指定擴(kuò)展名
import os
import os.path
#讀入指定目錄并轉(zhuǎn)換為絕對(duì)路徑
rootdir = raw_input('root dir:\n')
rootdir = os.path.abspath(rootdir)
print('absolute path:\n' + rootdir)
#讀入原擴(kuò)展名并標(biāo)準(zhǔn)化
old_ext = raw_input('old extension:\n')
old_ext = old_ext.strip()
if old_ext[0] != '.':
old_ext = '.' + old_ext
#讀入新擴(kuò)展名并標(biāo)準(zhǔn)化
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:上述功能一個(gè)shell命令也可以實(shí)現(xiàn)
#將后綴.ini換成.txt #路徑名可以是相對(duì)路徑或絕對(duì)路徑 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-
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python文件與目錄操作技巧匯總》、《Python文本文件操作技巧匯總》、《Python URL操作技巧總結(jié)》、《Python圖片操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
python人工智能tensorflow函數(shù)tf.assign使用方法
這篇文章主要為大家介紹了python人工智能tensorflow函數(shù)tf.assign使用方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
一文了解python 3 字符串格式化 F-string 用法
本文介紹在python 3 編程中,如何進(jìn)行字符串格式化。介紹了F-string的用法,通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的工作或?qū)W習(xí)具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2020-03-03
詳解python異步編程之a(chǎn)syncio(百萬(wàn)并發(fā))
這篇文章主要介紹了詳解python異步編程之a(chǎn)syncio(百萬(wàn)并發(fā)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
python PaddleSpeech實(shí)現(xiàn)嬰兒啼哭識(shí)別
這篇文章主要為大家介紹了python PaddleSpeech實(shí)現(xiàn)嬰兒啼哭識(shí)別操作詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
Python 中獲取數(shù)組的子數(shù)組示例詳解
在 Python 中獲取一個(gè)數(shù)組的子數(shù)組時(shí),可以使用切片操作,使用切片操作來(lái)獲取一個(gè)數(shù)組的一段連續(xù)的子數(shù)組,并且還可以使用一些方便的語(yǔ)法來(lái)簡(jiǎn)化代碼,這篇文章主要介紹了如何在 Python 中獲取數(shù)組的子數(shù)組,需要的朋友可以參考下2023-05-05
python入門:argparse淺析 nargs=''+''作用
這篇文章主要介紹了python入門:argparse淺析 nargs='+'作用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07

