2016-03-29 7 views
-1

ディレクトリをループし、リスト内にある人の頭文字で終わる各ファイルの関数を呼び出したいとします。Python - 各ファイルのディレクトリと呼び出し関数をループする

ファイル名は次のようになります。

TimeSheet_EBSC_FraTeam_BIE.xlsx

または

TimeSheet_EBSC_FraTeam_BIE.xlsm

私のコードは、右のディレクトリに私を取得し、コードを実行しますが、唯一のリストの中の最初の人物のために、それ以降に停止します。それは次のものに移動しません。

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かどうか()関数は、次のことができ、エラーまたは例外があります(この場合、これらの頭文字を含む両方のファイルが.xlsxのある)

:ここ

は、私が持っているコードです。 find-errors()呼び出しの前後にprint文を試してください。 ように: プリント「HI」 find_errors(人) 印刷「こんにちは」

HIとハローの両方がループ内のすべてのエントリのために印刷され得るならば、我々は(find_errorsを取ることができる)が正常に動作しています。

ありがとう、

関連する問題