1. 程式人生 > >使用python批量替換修改檔名

使用python批量替換修改檔名

命令執行方式:

python formatRourcename.py @3x

替換掉當前資料夾下或者子檔案下的檔名中的@3x

python formatRourcename.py -fup @3x @2x

替換掉當前資料夾下或者子檔案下的檔名中的@3x、@2x,並將檔名變為大寫

python formatRourcename.py -flow @3x @2x

替換掉當前資料夾下或者子檔案下的檔名中的@3x、@2x,並將檔名變為小寫

以下為指令碼原始碼:

#!/usr/bin/python
# coding=utf-8
import os
import sys

SWITCHCHAR=1
PYFILENAME="formatRourcename.py"
ORFUP="-fup"
ORLOW="-flow"

#遞迴遍歷資料夾,篩選符合要求的檔案,並執行替換重新命名
def listfiles(root,arg):
    global SWITCHCHAR #設定全域性變數標誌
    global PYFILENAME
    for dir in os.listdir(root):
        filepath=root+"/"+dir
        if os.path.isdir(filepath):
            listfiles(filepath,arg)
        else:
            # file name (with extension)
            src_apk_file_name = os.path.basename(dir)
            if PYFILENAME==src_apk_file_name:#不修改本指令碼檔案
                continue
            #檢查檔名稱格式
            isIn=arg in dir
            if isIn==True:
                dir=dir.replace(arg,"")
            
            if SWITCHCHAR==1:
                if isIn==True:
                    os.rename(filepath,root+"/"+dir)
                    print filepath+"-->"+dir
                continue

            if SWITCHCHAR==2:
                dir=dir.upper()//全部大寫
            if SWITCHCHAR==3:
                dir=dir.lower()//全部小寫
            os.rename(filepath,root+"/"+dir)//重新命名檔案
            print filepath+"-->"+dir

#定義主函式,接收命令列引數
# -fup 替換所有小寫字元
# -flow 替換所有大寫字元
def main(argv):
     global SWITCHCHAR
     global PYFILENAME
     length=len(argv)
     n=1 #從第二個引數開始,第一個引數是當前指令碼檔名
     while n<length:
        if argv[n]==ORFUP:
            SWITCHCHAR=2
            if length==2:
                listfiles(".","")#只執行字元變大命令
        else:
            if argv[n]==ORLOW:
                SWITCHCHAR=3
                if length==2:
                    listfiles(".","")#只執行字元變小命令
            else:
                listfiles(".",argv[n])
        n=n+1
        
if __name__ == '__main__':
    main(sys.argv)


相關推薦

使用python批量替換修改檔名

命令執行方式: python formatRourcename.py @3x 替換掉當前資料夾下或者子檔案下的檔名中的@3x python formatRourcename.py -fup @3x @2x 替換掉當前資料夾下或者子檔案下的檔名中的@3x、@2x,並將檔名變

python 批量替換檔名

你要是這樣學習看到這種噁心不, 需求來了,批量替換檔名 movie_name = os.listdir('H:\妙味課堂') # 獲取所有的檔名列表 # Node+TS+Koa+vue【程式設計開發】2018最新Node+TS+Koa+vue 商城全棧開發(前後端)(完結) - 1.1、Node、T

如何批量替換修改圖片名或更改檔名

在開啟的批量檔案改名視窗中,找到命名規則文字框,在這裡輸入要改名的規則,如“泰山旅遊2015#”,下面就來定義#萬用字元,開始於數字1,增加為2,位數共三位,那麼修改後的檔名就是泰山旅遊2015001、泰山旅遊2015003等,可以在右側實時預覽修改後的結果,最後點選開始重新命名按鈕就可以批量修改選中的檔

批處理替換修改檔名

@echo offecho.&echo.title 批量替換檔名中的部分字串&color 3fecho Note:echo 本批處理可批量替換本檔案所在資料夾下的所有檔名的相同字元echo.&echo.&echo.&echo.&

python批量替換頁首頁尾

#!/usr/bin/env python# -*- coding: utf-8 -*- import win32com,os,sys,re from win32com.client import Dispatch, constants # 開啟新的檔案 suoyou = os.listdir('d:\\d

python 批量修改/替換資料

在進行資料操作時,經常會根據條件批量的修改資料,如以下資料,按照日期的條件,將部門日期下的promotion改為1   tot_qty price date price_delta1 price_del

使用Python批量修改檔名

使用os.rename(fold,newfilename)對檔案重新命名 # coding:utf-8 import os filename_list = os.listdir('./') for filename in filename_list: str_reverse = file

python 實現批量修改檔名

#!coding=utf-8 import sys import os def replace_filename(file_path, var1, var2): for root, dirs, files in os.walk(file_path): for file

Python指令碼批量修改檔名

有時候我們有大量的圖片的時候我們需要運用指令碼處理 import os path='C:/Users/Administrator/Desktop/red/' #獲取該目錄下所有檔案,存入列表中 f=os.listdir(path) n=0 for i

Python 批量修改PDF檔名

參加CyberC會議,會議的論文集檔名全是字母+數字,找自己想看的很難受,就用python改了下。 環境說明: (1)python3.6 (2)PyPDF2庫(直接pip安裝就行) (3)檔案的結構說明,如下圖: 程式碼如下: import os from P

python批量修改檔名

# -*- coding: utf-8 -*- """ Created on Wed Nov 14 10:12:47 2018 @author: Administrator """ import os  #import pandas as pd #flagpath='F

python:批量修改檔名批量修改圖片尺寸 批量修改檔名

批量修改檔名  參考部落格:https://www.cnblogs.com/zf-blog/p/7880126.html 功能:批量修改檔名

【小技巧】之 python批量修改指定檔案型別的檔名

在工作學習當中,常常遇到要批量修改我檔名情況,要是一個一個的去重新命名,不是程式猿所為,今天分享一個批量修改檔名的方法,供大家參考: 例如下圖,在我的某一個資料夾下,又n個亂七八糟的“.txt”檔案,將這些檔案批量修改名稱。 直接上程式碼: import os files = os

傻瓜小工具-用python批量修改檔名

本文案例是批量修改音訊檔案,簡單修改也可用於批量修改圖片、視訊等的其他檔案,這個功能對於有收藏癖,同時又有強迫症的宅男,可以說是非常實用(因為我就是案例)。新手上路,老司機勿噴。作為小白,我暫時還寫不出非常強壯、高階的程式碼的,但是幸好,“人生苦短,我用python。”所以簡

Python實現批量修改檔名(萬能模板)

環境:Window10 + Python3.7 + PyCharm(2018.1.4) -------------------------------------****************** ** *********************--------------------

word vba批量替換檔案內容並批量修改檔名

最近在工作中遇到某一資料夾下的許多檔案,名字和內容有大量需要替換,一個個手工替換很麻煩,於是修改了一段程式碼: Sub 批量更改word要素編號及檔名() '此程式碼為指定資料夾中所有選取的WORD檔案的進行格式設定 Dim MyDialog As FileDialog,

利用Python批量修改資料夾下所有資料夾的檔名

話說需求產生動力。 昨天下了一個小圖包。作者把所有的檔名都加上了他們自己的網站名....看得我吐血了0.1個壓縮包裡面還有好多個壓縮包。看得我心很累。所以希望按照檔名,批量修改我個人小相簿裡面的所有檔案的檔名./邪惡的笑 用到的模組只有OS os.path.basena

python 批量修改圖片的檔名

# -*- coding: cp936 -*- import os ##輸入新的檔名 newname = raw_input("請輸入新的圖片名:") newname = newname.strip() if newname != '': ##獲取當前資料夾的路徑

如何用python從文中獲取檔名再用正則表示式批量修改檔名

第零步:問題的提出 我在網上購買了星火英語的六級晨讀美文100篇(六級早已高分飄過,不過很喜歡這些文章,買來重新品味),但是發現其文章的命名都為01.txt或10.txt等。為了便於檢索需要修改檔名稱。 第一步:從檔案中取出檔名。 我發現txt檔案的第一行為檔名,格式為如

批量修改檔名批量檔案字元替換

下面小指令碼,用於將當前資料夾內所有檔名做regbox——》genbox替換 shell #!/bin/bash for files in `find . -name "*"` do mv $files $(sed "s/re