python檔案_批量改名

來源:互聯網
上載者:User

標籤:

 1 #! /usr/bin/env python 2 #coding=gbk 3 #檔案操作執行個體--將檔案夾下所有圖片名稱加上‘_test‘ 4 import re,os,time 5 #str.split(path) 分割字串 6 #‘串連符‘.join(list)將列表組成字串 7  8 def change_name(path): 9     global i #這裡要定義在函數裡面,定義在外面會報錯10 #判斷路徑是否是檔案或者目錄,如果不是,返回錯誤11     if not os.path.isdir(path) and not os.path.isfile(path):12         return false13     if os.path.isfile(path):14         file_path=os.path.split(path)#分解檔案路徑組成list存入file_path15         lists=file_path[1].split(‘.‘)#分割檔案與副檔名16         file_ext=lists[-1]#取出尾碼名 等價於:file_ext=lists[1],list只有兩個數17         img_ext=[‘bmg‘,‘jpeg‘,‘gif‘,‘psd‘,‘png‘,‘jpg‘]#圖片尾碼名18         if file_ext in img_ext:19             #這裡將新檔案路徑組成,改名的話就將list[0]替換掉20             os.rename(path,file_path[0]+‘/‘+lists[0]+‘_test.‘+file_ext)21             i=i+122     elif os.path.isdir(path):23         for x in os.listdir(path):24             #通過join將檔案添加到目錄後面組成檔案25             change_name(os.path.join(path,x))#os.path.join()在路徑處理上很有用26 os.chdir("g:/檔案操作")27 img_dir = ‘g:\\檔案操作\\圖片1‘28 img_dir = img_dir.replace(‘\\‘,‘/‘)29 i=030 start=time.time()#開始時間31 change_name(img_dir)32 c=time.time()-start#計算消耗時間33 print(‘共處理了%s張圖片‘%(i))34 print (‘程式運行耗時:%0.2f‘%(c))

這裡如果將global i 定義在函數外面,啟動並執行時候會報錯:local variable ‘i‘ referenced before assignment。這個錯誤的意思就是變數i在引用前沒有定義,但是在最開始已經定義了的,通過global關鍵字引用全域變數來解決問題。在python的函數中和全域同名的變數,如果你有修改變數的值就會變成局部變數,在修改之前對該變數的引用自然就會出現沒定義這樣的錯誤了,如果確定要引用全域變數,並且要對它修改,必須加上global關鍵字。

python檔案_批量改名

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.