2016-03-29 12 views
-1

Bir dizinde dolaşmak ve listedeki bir kişinin baş harfleriyle biten her dosyada bir işlev aramak istiyorum.Python - Her dosyada dizin ve çağrı işlevini çevirin

dosya adı şuna benzer:

TimeSheet_EBSC_FraTeam_BIE.xlsx

veya

TimeSheet_EBSC_FraTeam_BIE.xlsm

Kodum sağ dizinde beni alır ve kod çalışır, ancak yalnızca Listedeki ilk kişi için ve bundan sonra durur. Bir sonrakine geçmez. İşte

Ben kodudur:

(Bu durumda, bu baş harflerini içeren her iki dosyalardır .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 işlevi nedir? Ve bir istisna ile tam olarak nasıl durur? –

+0

Nereye takıldığını görmek için baskı ifadeleri ekleyin. Özellikle find_error işlevi etrafında. –

+0

Find_errors oldukça uzun, bu yüzden burada yayınlamam. Ancak bir dosyadaki hataları arar. İşlevin sonunda bunları bir .txt dosyasına yazdırır ve bu dosyayı kapatır. Son ifade 'text_file.close()' –

cevap

0

olsun veya olmasın find_errors() fonksiyonu yapabilirsiniz, hata veya istisnalar vardır find-errors() çağrısından önce ve sonra yazdırma ifadelerini deneyin. gibi: print "Merhaba" find_errors (kişi) print "Merhaba"

hi ise ve merhaba hem o zaman find_errors varsayabiliriz döngü içinde her giriş için baskılı olsun() iyi çalışıyor.

Teşekkür ederiz,

İlgili konular