2010-01-03 63 views
5

給定/foo/bar的本地目錄結構,並假定給定的路徑只包含一個文件(文件名和內容無關緊要),那麼獲取單個文件的文件名(而不是文件內容)的合理快速方法是什麼?的os.listdir()從目錄中讀取文件名的快速方法?

import os 
os.listdir('/foo/bar')[0] 
+1

什麼選擇做你標杆?沒有太多選擇:'os'和'glob'是最重要的兩個選擇。你從運行'timeit'學到了什麼?你對基準測試結果有什麼具體問題? – 2010-01-03 12:32:45

+0

我的意思是,「鑑於我需要一個快速解決方案,禁止運行一個完整的基準測試,什麼是一個相當快的方法來...」 我會相應地編輯標題,謝謝指出這一點。 – nikola 2010-01-03 13:06:04

+0

@prometheus:你的評論比原來的問題更有意義。只有兩種選擇。是什麼讓你覺得一個人會比另一個更快?既然只有兩個,會讓你無法運行'timeit'兩次?我真的不清楚你爲什麼在這裏問這個問題。 – 2010-01-03 17:16:22

回答

13

第1個要素嗯,我知道此代碼的工作...

for file in os.listdir('.'): 
    #do something 
+0

謝謝,這是工作! – nikola 2010-01-03 10:45:25

+0

heh ...我應該已經考慮了一下:-p – 2010-01-03 12:33:42

2

+0

謝謝,gimel使它更短。 – nikola 2010-01-03 10:52:12

1

你也可以使用水珠

import glob 
print glob.glob("/path/*")[0]