如何只计算目录中的文件?这将目录本身计算为一个文件:
len(glob.glob('*'))
如何只计算目录中的文件?这将目录本身计算为一个文件:
len(glob.glob('*'))
当前回答
转换为列表后,您可以Len
len(list(glob.glob('*')))
其他回答
import os
total_con=os.listdir('<directory path>')
files=[]
for f_n in total_con:
if os.path.isfile(f_n):
files.append(f_n)
print len(files)
简单的一个:
import os
number_of_files = len(os.listdir(directory))
print(number_of_files)
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))])
一行和递归:
def count_files(path):
return sum([len(files) for _, _, files in os.walk(path)])
count_files('path/to/dir')
import os
_, _, files = next(os.walk("/usr/lib"))
file_count = len(files)