如何只计算目录中的文件?这将目录本身计算为一个文件:
len(glob.glob('*'))
如何只计算目录中的文件?这将目录本身计算为一个文件:
len(glob.glob('*'))
当前回答
对于所有类型的文件,包括子目录(Python 2):
import os
lst = os.listdir(directory) # your directory path
number_files = len(lst)
print number_files
只有文件(避免子目录):
import os
onlyfiles = next(os.walk(directory))[2] #directory is your directory path as string
print len(onlyfiles)
其他回答
def count_em(valid_path):
x = 0
for root, dirs, files in os.walk(valid_path):
for f in files:
x = x+1
print "There are", x, "files in this directory."
return x
摘自本文
def directory(path,extension):
list_dir = []
list_dir = os.listdir(path)
count = 0
for file in list_dir:
if file.endswith(extension): # eg: '.txt'
count += 1
return count
我很惊讶没有人提到os.scandir:
def count_files(dir):
return len([1 for x in list(os.scandir(dir)) if x.is_file()])
卢克的代码重新格式化。
import os
print len(os.walk('/usr/lib').next()[2])
一行和递归:
def count_files(path):
return sum([len(files) for _, _, files in os.walk(path)])
count_files('path/to/dir')