我試圖從幾個文件建立輸入列表。我需要列表僅包含具有給定基本名稱的第一個文件。所以如果我& b是文件夾,並且有「C:\ a \ file1.ext」,「C:\ b \ file1」和「C:\ c \ file1」,並且我有一個名稱爲file1,file2的列表等等,我希望腳本在C:\ a \ file1.ext中找到file1,然後移動到列表中的下一個名稱。在某些情況下,file-x.ext可能不在C:\ a或C:\ c或C:\ b中。while while循環無限
我設置了一個條件來計算文件,一旦它的基名在列表中找到。一旦計數= 1,它將退出while循環,將計數值重置爲0,並轉到列表中的下一個名稱,僅將文件名的第一個實例添加到新的輸入列表中。我的代碼似乎繼續運行,所以我想我有一個內部的循環,但我想設置計數爲0以外while循環會防止這種情況:
count = 0
for name in dbfOnlyLst:
for file in fileLst:
while count < 1:
if os.path.basename(file) == name+".dbf":
values.add(file)
count += 1
count = 0
inList = list(values)
是的。在您發表評論之前對其進行編輯。不過謝謝。 – ShaunO
是的,如果任何文件沒有你要找的文件名,這個while循環是無限的。 ''文件'在'while循環中永遠不會改變,所以如果條件不是最初,條件永遠不會變爲真。 –
你覺得'os.path.basename'有什麼作用? –