Python 在當前目錄以及其子目錄下查找文件名包含指定字符串的文件,並打印出相對路徑。

import os
def search_file(dir,sname): 
    if sname in os.path.split(dir)[1]: #檢驗文件名裏是否包含sname 
        print(os.path.relpath(dir)) #打印相對路徑,相對指相對於當前路徑 
    if os.path.isfile(dir):   # 如果傳入的dir直接是一個文件目錄 他就沒有子目錄,就不用再遍歷它的子目錄了
        return 

    for dire in os.listdir(dir): # 遍歷子目錄  這裏的dire爲當前文件名 
        search_file(os.path.join(dir,dire),sname) #jion一下就變成了當前文件的絕對路徑
                                           # 對每個子目錄路勁執行同樣的操作

其中:

os.path.isfile(path)

    Return True if path is an existing regular file. This follows symbolic links, so both islink() and isfile() can be true for the same path.
os.listdir() 方法用於返回指定的文件夾包含的文件或文件夾的名字的列表。這個列表以字母順序。 它不包括 '.''..' 即使它在文件夾中。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章