2016-03-29 68 views
-1

我想遍歷一個目錄並調用每個文件上的函數,以列表中找到的人的姓名縮寫結尾。Python - 通過目錄和每個文件上的調用函數循環

文件名看起來是這樣的:

TimeSheet_EBSC_FraTeam_BIE.xlsx

TimeSheet_EBSC_FraTeam_BIE.xlsm

我的代碼讓我在正確的目錄,並運行代碼,但只列表中的第一個人,然後停止。它不會移動到下一個。

這裏是我的代碼:

(在這種情況下,含有這些縮寫這兩個文件是.xlsx)格式

def find_initials(): 
    os.chdir("J://EBSC//1_EBSC//3_Employee matters//1_Timesheets") 
    EBSC = ["BIE", "IWA"] 

    for person in EBSC: 
     for i in os.listdir(os.getcwd()): 
      if i.endswith(person+".xlsx") or i.endswith(person+".xlsm"): 
       find_errors(person) 
+2

'find_errors'函數是什麼?它究竟如何停止,除了例外? –

+0

添加打印語句以查看卡住的位置。特別是在find_error函數週圍。 –

+0

find_errors很長,所以我不會在這裏發佈它。但它會查找文件中的錯誤。在函數結束時,它將它們打印在.txt文件中並關閉該文件。最後一條語句是'text_file.close()' –

回答

0

是否find_errors()函數有錯誤或異常,就可以在find-errors()調用之前和之後嘗試打印語句。 像: 打印「喜」 find_errors(人) 打印「你好」

如果喜招呼都幫我印在循環中的每個條目那麼我們可以假設find_errors()工作正常。

謝謝,