2

我看到了这个How to count the number of files in a directory using Python

并有这个:

import os, os.path

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

但它总是返回 0。我将如何修改它以返回文件数?

谢谢

4

1 回答 1

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)
)
于 2012-06-07T13:55:48.407 回答