我需要使用 Python 计算目录中的文件数。
我想最简单的方法是len(glob.glob('*')),但这也将目录本身视为一个文件。
len(glob.glob('*'))
有没有办法只计算目录中的 文件 ?
os.listdir()会比使用glob.glob. 要测试文件名是否是普通文件(而不是目录或其他实体),请使用os.path.isfile():
os.listdir()
glob.glob
os.path.isfile()
import os, os.path # simple version for working with CWD print len([name for name in os.listdir('.') if os.path.isfile(name)]) # path joining version for other paths DIR = '/tmp' print len([name for name in os.listdir(DIR) if os.path.isfile(os.path.join(DIR, name))])