如何在不扫描python子文件夹的情况下计算特定目录中的文件数

时间:2019-10-11 02:11:34

标签: python

我尝试过;

 files = os.listdir(file_path)
    print(len(files)) <--gets counts of all files in subdirctory too
 for f in files:
  if (f.endswith('.xlsx')):
    print(count of *.clxs files)

我只需要根目录中的excel文件计数。如何在python中做到这一点?

4 个答案:

答案 0 :(得分:1)

您可以做到

xslx_files=[]
files = os.listdir(file_path)
    print(len(files)) <--gets counts of all files in subdirctory too
 for f in files:
  if (f.endswith('.xlsx')):
    xslx_files.append(f)
print(len(xslx_files))

答案 1 :(得分:1)

如果您使用的是Python> = 3.4版本,则可以使用pathlib

base_path = pathlib.Path(file_path)
num_spreadsheets = len(list(base_path.glob('*.xlsx')))

答案 2 :(得分:0)

fileCounts的第一个元素是根文件的数量,其他是子目录的数量:

import os
fileCounts=[]
for root,dirs,files in os.walk(file_path,topdown=True):
  xlsxFiles=[]
  for f in files:
    if f.endswith(".xlsx"):
      xlsxFiles.append(f)
  fileCounts.append(len(xlsxFiles))
print(fileCounts[0])

答案 3 :(得分:-1)

import os
for file in os.listdir("/mydir"):
    if file.endswith(".xlsx"):
        print(os.path.join("/mydir", file))