2012-06-07 36 views
2

我看到這個How to count the number of files in a directory using Python想獲得在主目錄的文件的數量在python

,並有這樣的:

import os, os.path 

print len([name for name in os.listdir(os.path.expanduser("~")) if os.path.isfile(name)]) 

但它總是返回0。我將如何修改這個返回的計數文件?

THX

+0

工作正常,我。也許沒有文件沒有在主目錄中用點表示? –

+1

...這真的是巧合嗎?因爲這很接近措辭。 –

+2

_「適合我工作。」_ - 只有當你的cwd是主目錄... – Eric

回答

8

此刻,你打電話os.path.isfile("somefile.ext")。您需要致電os.path.isfile("~/somefile.ext")

import os 

homedir = os.path.expanduser("~") 
print len([ 
    name 
    for name in os.listdir(homedir) 
    if os.path.isfile(os.path.join(homedir, name)) 
]) 

或者更簡潔:

print sum(
    os.path.isfile(os.path.join(homedir, name)) for name in os.listdir(homedir) 
) 
+0

爲什麼downvote? – Eric

+0

也許你相當'擴大'的佈局是原因(我沒有downvote) –

+0

我擴大,以便它適合沒有滾動條的代碼框。此外,我在此之前得到了低估。 – Eric

相關問題