這個 py 檔,主要是用來 Search File 使用,他是透過 Endswith 做比對
再爬文的過程中,我們有時候知道檔案名稱但是不知道其對應的真實路徑,所以有找過 python 相關範例程式碼,這邊進行微調,如有需要請自行取用。
# 這個 .py 主要是用來 Seach 檔案,目前支持 currentfile 和 current & sub file 這兩種格式
# current file demo: python searchFile.py E:\ .txt false
# current & sub file demo : python searchFile.py E:\ .txt true
import sys,os
class SearchFile:
if len(sys.argv) < 3:
print("please input arg {seach_dir} {file_name_ends_with} {(option)seach_all_file}")
sys.exit()
elif len(sys.argv) == 3:
search_dir = sys.argv[1]
file_name_ends_with = sys.argv[2]
search_all_flie = False
else:
search_dir = sys.argv[1]
file_name_ends_with = sys.argv[2]
search_all_flie = sys.argv[3]
if(str(search_all_flie).upper() == "TRUE"):
for root, dirs, files in os.walk(search_dir):
for file in files:
if file.endswith(file_name_ends_with):
print(os.path.join(root, file))
else:
for file in os.listdir(search_dir):
if file.endswith(file_name_endfs_with):
print(os.path.join(seach_dir, file))
而參數有設一個 flag 是用來控制資料層級。
- 如果為 flag = false 表示,查詢範圍為當前資料夾,但不包含子資料夾內容。
- 如果為 flag = trure 表示,查詢範圍為當前資料夾和所有子資料夾內容。
範例 : python searchFile.py C:\ devenv.exe true
查詢結果:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\devenv.exe
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe
如果有任何錯誤或者引用問題請麻煩告知 !!!