2016-12-07 36 views
0

我有一個奇怪的要求自動化腳本即時通訊嘗試用來學習更多的Python。基本上什麼即時試圖做的就是蟒蛇讀取目錄的python腳本是在(IM希望最終把它變成一個EXE)使用查找所有CSV文件:Python3從列表中打開當前目錄中的不同文件

os.listdir("./") 
    if file.endswith(".csv"): 
    FileName.append(file) # FileName is defined a blank list at the top 

這再追加所有CSV名一個列表,即時通訊然後使用:

with open(filename, newline='') as f: 
reader = csv.reader(f) 
doStuff() 

本工程以打開變量名我在使用之前已經定義,香港專業教育學院測試的所有似乎工作。我需要做的是讓python迭代它創建的列表併爲每個文件運行相同的代碼。所以我需要做的是這樣的:

with open(for FN in FileName: doStuffBelow(), newline='') as f: 

這顯然是行不通的,只是想知道如果我能採取的每個項目在列表中,使其運行低於然後循環的功能恢復,直到結束。任何幫助讚賞:)。此外,列表長度是可變的,具體取決於生成了多少個CSV文件,所以我甚至不能在這個實例中預先定義一堆變量。

回答

0

我相信你想是這樣的:

for i in os.listdir(): 
    if file.endswith(".csv"): 
     with open(i, newline='') as f: 
      reader = csv.reader(f) 
      doStuff() 

或者,如果你希望把這些文件到列表第一:

csv_files = [] 
for i in os.listdir(): 
    if file.endswith(".csv"): 
     csv_files.append(i) 

for i in csv_files: 
    with open(i, newline='') as f: 
     reader = csv.reader(f) 
     doStuff() 
+1

哇我會採取TARD獎。我本該工作了..謝謝你,你是一個傳奇 –

+0

@AlistairBendall不用擔心,如果你發現這個有用的upvote和接受,歡迎堆棧溢出:) –

相關問題