2

私はこれを見ました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 に答える