如何只计算目录中的文件?这将目录本身计算为一个文件:
len(glob.glob('*'))
如何只计算目录中的文件?这将目录本身计算为一个文件:
len(glob.glob('*'))
当前回答
虽然我同意@DanielStutzbach提供的答案:os.listdir()将比使用glob.glob更有效。
然而,额外的精度,如果你想计算文件夹中特定文件的数量,你想使用len(glob.glob())。例如,如果你要计算你想要使用的文件夹中的所有pdf文件:
pdfCounter = len(glob.glob1(myPath,"*.pdf"))
其他回答
一行和递归:
def count_files(path):
return sum([len(files) for _, _, files in os.walk(path)])
count_files('path/to/dir')
import os
print len(os.listdir(os.getcwd()))
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)
对于所有类型的文件,包括子目录(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)
我很惊讶没有人提到os.scandir:
def count_files(dir):
return len([1 for x in list(os.scandir(dir)) if x.is_file()])