用Python提取檔案夾下的特定副檔名的檔案

來源:互聯網
上載者:User

  用Python提取檔案夾下的特定副檔名的檔案
 

 

 

      不知道什麼時候,網閑著沒用,掛了個linux的視屏教程,裡面有很多個檔案夾,有很多無關的檔案。這對於像我沒收藏垃圾檔案癖好的人來說,簡直是不能忍的。所以當時就打算自己手動一個一個提取出來,歸到了某個檔案夾。無奈檔案實在太多了,實在沒那份閑情,一個一個去提取。所以就打算寫個VC的小程式,當時寒假在家裡,對著那一大堆的windows API,還是一堆English的函數描述,頓時把我興趣給打沒了。確實是自己比較懶,靜不下心來專研。

     這幾天,在學習Boost庫,發現裡面有個為python寫的字型檔,頓時燃起我學期Python的慾望,主要是想看看把這兩門語言結合起來用會有什麼優勢。Google了一下,都說python核心編程還不錯,但翻譯的品質不怎麼行。記得以前在某個大牛的部落格上看到過,翻譯品質不好的,寧可不看,去看原版書。所以我便傻乎乎的跑去amazon網站上面,找了一門五星級的書,<<Beginning Python Using Python 2.6 and Python 3.1 - James W. Payne>>,列印出來,開始了我的Python之旅。

 

     幸好以前MSDN看多了,英語還算勉強過得去,再加上Google強大的翻譯在,怕啥啊。一口氣把基本文法看完了,覺得很奇怪,怎麼文法才200頁不到啊,200頁不到也能把基本類型,函數,異常,類,OOP,都講完。這跟我以前看C++差距也太大了吧。C++那文法,真是能把你折磨死啊。後來又找同學借了本python核心編程,發現那邊的文法講的詳細多了。

所以這幾天轉戰那本書。

 

      說了那麼多,還是迴歸主題吧。這個程式其實很簡單,不用Regex(確實是個好東西,Boost使C++也支援regular expressions 了,呵呵,只是我還沒開始學習)的話,也很容易。不羅嗦了,看程式吧

 

view plaincopy to clipboardprint?
01.""" 
02.   This module is to copy file with the specific extension from one directory 
03.   to the specific directory 
04.""" 
05. 
06.import os  
07.import shutil  
08. 
09.def file_extension(fromPath,extension,toPath):  
10.    if os.path.isdir(fromPath):  
11.        fileAll = os.listdir(fromPath)  
12.        for each in fileAll:  
13.            absolutePath = os.path.join(fromPath,each)  
14.            if os.path.isdir(absolutePath):  
15.                file_extension(absolutePath,extension,toPath)  
16.            else:  
17.             if absolutePath.endswith(extension):      
18.            print absolutePath  
19.                    shutil.copy(absolutePath,toPath)  
20.    else:  
21.        print "please input correct path!!!" 
"""
   This module is to copy file with the specific extension from one directory
   to the specific directory
"""

import os
import shutil

def file_extension(fromPath,extension,toPath):
    if os.path.isdir(fromPath):
        fileAll = os.listdir(fromPath)
        for each in fileAll:
            absolutePath = os.path.join(fromPath,each)
            if os.path.isdir(absolutePath):
                file_extension(absolutePath,extension,toPath)
            else:
          if absolutePath.endswith(extension):   
      print absolutePath
                    shutil.copy(absolutePath,toPath)
    else:
        print "please input correct path!!!"

 

不用我注釋了吧,相當簡單。

才開始學習python,這個代碼寫的一定很醜,以後再回來改吧。

本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/ruanmengkai/archive/2010/05/06/5564243.aspx

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.