給定一個目錄爲字符串,如何查找是否存在任何文件?Python:檢查給定目錄中是否存在任何文件
os.path.isFile() # only accepts a specific file path
os.listdir(dir) == [] # accepts sub-directories
我的目標是檢查路徑是否只有文件(不包括子目錄)。
給定一個目錄爲字符串,如何查找是否存在任何文件?Python:檢查給定目錄中是否存在任何文件
os.path.isFile() # only accepts a specific file path
os.listdir(dir) == [] # accepts sub-directories
我的目標是檢查路徑是否只有文件(不包括子目錄)。
要只檢查一個特定的目錄中,這樣的解決方案就足夠了:
from os import listdir
from os.path import isfile, join
def does_file_exist_in_dir(path):
return any(isfile(join(path, i)) for i in listdir(path))
要剖析發生了什麼:
does_file_exist_in_dir
將會把你的路徑。作爲一個選項,如果你想遍歷指定路徑的所有子目錄,並檢查文件,您可以使用os.walk,只是檢查,看看是否你在級別包含任何這樣的文件:
for dir, sub_dirs, files in os.walk(path):
if not files:
print("no files at this level")
在實踐中,很少需要這樣的東西,因爲如果沒有任何東西,正確編寫循環來處理目錄中所有感興趣的文件只會迭代0次。你希望你可以在循環中對它們進行計數,並且如果檢查看看有多少(如果有的話)被處理過。 – martineau