2013年12月3日 星期二

[Python] 取得路徑下檔案

如何利用python取得特定路徑下的檔案名稱呢?

其實說起來也相當簡單,os module裡已經定義好了。

先從os.listdir本身會回傳該資料夾下的所有檔案名稱,以list回傳。

再用一個 for 迴圈遍訪每個檔名,對其用os.path.isfile()判斷即可(若要取資料夾使用os.path.isdir())。

以下為範例程式碼。


import os
files = [f for f in os.listdir('.') if os.path.isfile(f)]
for f in files:
        print f

上面是個簡潔有力的寫法,他的效果等義於下列程式碼:

import os
files = []

for f in os.listdir('.'):
        if os.path.isfile(f):
                files.append(f)
for f in files:
        print f


在做NLP時,真的有數不儘的檔案,數不盡的路徑要確認。

一般來說,如果有大量的靜態的資料,如路徑或檔名之類的,

都會為這個程式寫個獨立的config檔,可能以xml檔實作的(.NET Framework幾乎都是如此)。


但在做一些python小程式的時候,

有的時候我還是會偏好一些簡單的方法,

(感覺維護比較不易,但我儘量會統一自己參數的風格XD)

不過如果是基本不變動的,其實寫config還是美德啊!XD

沒有留言:

張貼留言