我試圖循環瀏覽擴展名爲.jpg
或.jpeg
的文件夾中的文件。這看起來應該起作用,但由於某種原因,沒有任何打印。當我運行它時,沒有編譯錯誤,它只是不會將任何內容打印到Python控制檯。列出文件夾中的文件 - 無輸出顯示
import os
def find_images(image_dir, extensions=None):
default_extensions = ('jpg', 'jpeg')
if extensions is None:
extensions = default_extensions
elif isinstance(extensions, str):
extensions = (extensions,)
for root, dirs, filenames in os.walk(image_dir):
for filename in filenames:
print(filename, filename.split('.',1))
if filename.split('.', 1)[-1].lower() in extensions:
yield os.path.join(root, filename)
def main(image_dir=None):
if image_dir is None:
image_dir="D:/userName/Pictures/Gotham"
find_images(image_dir)
main() #doesn't return anything in console
find_images("D:/userName/Pictures/Gotham",) # also doesn't do anything...
所有我試圖找到問題在線給這樣(通過文件循環目錄中)的方法,但沒有什麼是我展示如何正確使用的路徑,因爲那是什麼我覺得我做得不對。 有這個文件夾中的圖片,我似乎無法看出爲什麼腳本沒有列出每個文件的名稱。
我也試過image_dir=r'D:\userName\Pictures\Gotham'
和...='D://userName//Pictures//Gotham'
無濟於事。
編輯:意在添加此。這沒有工作:
file_path = "D:/userName/Pictures/"
def list_images():
for root, dirs, files in os.walk(file_path):
for file in files:
if file.endswith(".jpg"):
print(file, file.split('.',1))
list_images()
...所以我是什麼在上面find_images(...)
俯瞰?
(僅供參考 - 我試圖實現從this answer東西)
如果你打印出來,你會得到什麼:'os.path.isdir(r「D:\ userName \ Pictures \ Gotham」)'? – zwer
@zwer - 同樣的事情。雖然看到我的編輯,但這很奇怪......即使在'find_images'中,如果我創建第一行*'image_dir = file_path',則什麼都不會發生。即使打印(「嗨」),也沒有打印。 ... – BruceWayne