一直有一部分軟體,他們的主要功能就是方便使用者查詢本地檔案位置。python當然也可以完成這項功能,所以我寫了乙個簡短的**。
寫完發現,python真的是一門簡潔的語言啊!
我完成這個功能主要就是用了os模組的功能,直接對作業系統作用。所以這裡可能需要首先講一下部分os操作的功能,方便大家能看懂。
import os
os.getcwd() #獲取當前工作目錄,即當前工作路徑
os.chdir(path) #切換路徑(切換到path路徑下)
os.path.isdir(path) #判斷路徑是否存在(判斷path是否存在)
os.listdir() #列表形式列出指定目錄下的所有檔案以及其子檔案
os.curdir() #返回當前目錄 (為'.')
os.sep #這個就是分隔符,為你使用該系統的分隔符 (windows '\';linux '/')
os.pardir #獲取當前目錄的父目錄名稱,字串('..')
以上就是下面**所用的一些os操作(當然os遠不止這些,需要了解你看以看看專門講解os模組的文章,這裡就不累述了)
附上思路:
一:建立列表儲存所有主目錄,用來依次訪問。
三:在二的基礎上,每查詢到乙個子目錄是,就切換到改路徑,如果到底了,就獲取它的父目錄返回。
四:肯定要用到的就是遞迴啦!!如果沒找到,就返回父目錄,切換路徑到父目錄,繼續查詢。
附上**:
'''
author:daihui
'''import os
def finddir(startdir, target):
try:
os.chdir(startdir) #切換目錄
except:
return
for new_dir in os.listdir(os.curdir): #列表出該目錄下的所有檔案(返回當前目錄'.')
print(new_dir)
if new_dir == target :
print("噹噹當 找到啦!!!!!!!!!")
print (os.getcwd() + os.sep + new_dir)
exit()
if os.path.isdir(new_dir) : #判斷路徑是否存在
finddir(new_dir, target)
os.chdir(os.pardir) #切換到當前目錄的父目錄
# startdir = str(input('please input startdir: '))
# target = str(input('please input target: '))
lis = ['d:','e:','f:','g'] #更具具體需要,你可以在這裡修改查詢的目錄
target = r'要查詢的檔名'
ok!以上**實現了輸入檔名後遍歷所有目錄查詢檔案的功能。你可以更具自己的需求來修改**。
Python3 遍歷目錄樹
假定你希望對某個資料夾中的所有檔案改名,包括該資料夾中所有子資料夾中 的所有檔案。也就是說,你希望遍歷目錄樹,處理遇到的每個檔案。寫程式完成這 件事,可能需要一些技巧。好在,python 提供了乙個函式,替你處理這個過程。import os for foldername,subfolders,fil...
python3 遍歷目錄 批量重新命名 批量拷貝
使用python遍歷目錄之後,批量重新命名 批量修改檔案或目錄屬性等操作很方便,很適合批量操作。import os deflist all1 root dir list dirs os.walk root dir for root,dirs,files in list dirs for name i...
遍歷目錄查詢檔案
hresult findfile cstdstring directory,cstdstring filename directory t f 新建資料夾 filename t memset tmpdirexpr,0,max path sizeof tchar strcat tmpdirexpr,d...