看板 Python 關於我們 聯絡資訊
各位大大日安。 小弟在前幾天被合金鋼模具砸中了頭,突然發現問題所在。 並且把它解決了。想說放上來跟大家分享,一方面也幫自己做個紀錄。 def file_amount(file_type,listdata,row_amount): target_column=[] file_extension= '.'+file_type for J in range(1,row_amount): print(listdata[J][1]) if listdata[J][1]=='TRUE': k=0 for filename in os.listdir(listdata[J][0]): if filename.endswith(file_extension): k=k+1 target_column.insert(J,k) else: target_column.insert(J,0) return target_column 關鍵就在For 迴圈的寫法是錯的 Before: for filter in listdata[:][2]: After: for J in range(1,row_amount): 新手初入Python對於新的For寫法不太熟悉所造成的,感謝過去幾位大大熱心地回應。 ※ 引述《yimean (溫柔殺手)》之銘言: : 各位板上的大大日安 : 我要寫一個程式是計算某特定資料夾下,某特定類型檔案的數量。 : 在這個實施案例中是PDF : 我的程式碼片段 : def file_amount(file_type,listdata): : target_column=[] : file_extension= '.'+file_type : J=0 : for filter in listdata[:][2]: : print(filter) : if filter=='TRUE': : k=0 : for filename in os.listdir(listdata[J][0]): : if filename.endswith(file_extension): : k=k+1 : target_column.insert(J,k) : J=J+1 : else: : target_column.insert(J,0) : J=J+1 : return target_column : listdata的結構如下 : ['路徑', '計算filter'] : ['C:\', 'FALSE'] : ['D:\', 'TRUE'] : 以上的內容只是範例 : 目前我遇到的問題是listdata[:][2]並不等於 : ['計算Filter', FALSE, TRUE] : 而是['D:\','TRUE'] : 我有嘗試過改成listdata[2][:]也是一樣的結果 : 請問該如何取得['計算filter','FALSE','TRUE']這樣的值呢? : 懇請大大解惑。 : 感謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.195.98.141 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1549261734.A.06B.html
s860134: 其實呢 python buildin 就有一個叫做 "glob" 02/04 14:50
s860134: 前面推文有人推了XD 02/04 14:51