python(os.walk)
import os
import os.path
path =
input
('請輸入你要查詢的檔案頂層目錄'
)#輸入需要查詢的檔案目錄
file_name =
input
('請輸入你要查詢的檔案名字'
)def
select_file()
:#定義查詢函式
global pd#定義全域性變數pd用來檢測是否查詢到程式,通過判斷該值來判斷是否查詢到程式
pd =
0#我這裡定義查詢到為1,未查詢為0
for root,filenames,filename in os.walk(path)
:#os.walk模組,返回三個值1.當前目錄2.當前目錄下資料夾名稱3.當前目錄下檔案的名稱
for name in filenames:
#資料夾
if name == file_name:
#判斷是否有存在該名字的資料夾存在則輸出,不存在跳過
print
(os.path.join(root,name)
)#用os.path.join的方式將當前檔案目錄和檔名相加輸出
pd =
1#當查詢到檔案就改變pd的值用來做後續判斷
for name in filename:
#檔案if name == file_name:
#判斷是否有該名字的檔案,有則輸出,沒有就跳過
print
(os.path.join(root,name)
)#用os.path.join的方式將當前檔案目錄和檔名相加輸出
pd =
1#當查詢到檔案就改變pd的值用來做後續判斷
file_namestr =
set(file_name)
for name in filenames:
#資料夾
filenames_str =
set(name)
#將遍歷出來的資料夾名字str轉化成set,這樣進行單個字的遍歷
for name_pd in file_namestr:
for name_str in filenames_str:
if name_pd ==name_str:
#對比判斷,要是存在相同的str,則輸出
print
(os.path.join(root,name)
)#用os.path.join的方式將當前檔案目錄和檔名相加輸出
pd =
1#當查詢到檔案就改變pd的值用來做後續判斷
for name in filename:
#檔案 filename_str =
set(name)
#將遍歷出來的資料夾名字str轉化成set,這樣進行單個字的遍歷
for name_pd in file_namestr:
for name_str in filename_str:
if name_pd == name_str:
#判斷print
(os.path.join(root,name)
)#輸出
pd =
1#改變值
select_file(
)if pd ==0:
#當查詢結束,判斷pd的值,如果是沒查詢到會是之前的0,查詢到則改變為1
print
('你查詢的檔案不存在這個目錄下'
)
執行示例如下,查詢f盤某檔案下,存在表關鍵字的檔案和資料夾,返回檔案路徑
Python 遍歷查詢目錄內檔案
python建立檔案時,如果沒有指定位置的話,會將該檔案放在 c users 目錄下。如果不知道的話,就會比較懵逼。下面是在指定位置建立檔案,並且遍歷目錄下所有同名檔案的python程式。coding utf 8 查詢某個目錄下的目標檔案 import os 引入作業系統模組 info hello ...
python遍歷目錄檔案
直接上 os.walk import os from os.path import join,getsize for root,dirs,files in os.walk python lib email print root,consumes print sum getsize join root...
python 檔案目錄遍歷
import os path r f pycharmprojects basic gram 作業和習題 test def getallfileanddir path 獲取當前目錄下所有檔案及檔案目錄 filelist os.listdir path print filelist 遍歷filelist...