編寫一個程序,能在當前目錄以及當前目錄的所有子目錄下查找文件名包含指定字符串的文件,并打印出絕對路徑。
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文件放到桌面上,因為會遍歷桌面上的所有目錄及目錄下的所有文件,會很大。
以上這篇python 查找文件名包含指定字符串的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答