python 尋找檔案名稱包含指定字串__python

來源:互聯網
上載者:User

編寫一個程式,能在目前的目錄以及目前的目錄的所有子目錄下尋找檔案名稱包含指定字串的檔案,並列印出絕對路徑。

import osclass  SearchFile(object):    def __init__(self,path='.'):        self._path=path        self.abspath=os.path.abspath(self._path) # 預設目前的目錄    def findfile(self,keyword,root):        filelist=[]        for root,dirs,files in os.walk(root):            for name in files:                                fitfile=filelist.append(os.path.join(root, name))                #print(fitfile)                print(os.path.join(root, name))        #print(filelist)        print('...........................................')        for i in filelist:                        if os.path.isfile(i):                #print(i)                if keyword in os.path.split(i)[1]:                     print('yes!',i)    # 絕對路徑                #else:                    #print('......no keyword!')    def __call__(self):        while True:            workpath=input('Do you want to work under the current folder? Y/N:')            if(workpath == ''):                break            if workpath=='y' or workpath=='Y':                root=self.abspath   # 把當前工作目錄作為工作目錄                print('當前工作目錄:',root)                dirlist=os.listdir()  # 列出工作目錄下的檔案和目錄                print(dirlist)            else:                root=input('please enter the working directory:')                print('當前工作目錄:',root)            keyword=input('the keyword you want to find:')            if(keyword==''):                  break            self.findfile(keyword,root)  # 尋找帶指定字元的檔案if __name__ == '__main__':    search = SearchFile()    search()

運行結果:


注意:在啟動並執行時候如果選擇y,也就是把.py檔案所在的目錄作為工作目錄,此時最好不要把.py檔案放到案頭上,因為會遍曆案頭上的所有目錄及目錄下的所有檔案,會很大。

相關文章

聯繫我們

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