Python을 사용하여 디렉토리의 파일 수를 계산하는 방법 수를 계산해야합니다. 가장 쉬운 방법은 len(glob.glob(‘*’))이지만

Python을 사용하여 디렉토리의 파일 수를 계산해야합니다.

가장 쉬운 방법은 len(glob.glob('*'))이지만 디렉토리 자체를 파일로 계산합니다.

디렉토리 의 파일 만 계산할 수있는 방법이 있습니까?



답변

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))])

답변

import os

path, dirs, files = next(os.walk("/usr/lib"))
file_count = len(files)

답변

모든 종류의 파일에 대해 하위 디렉토리에는 다음이 포함됩니다.

import os

list = os.listdir(dir) # dir is your directory path
number_files = len(list)
print number_files

파일 만 (하위 디렉토리 제외) :

import os

onlyfiles = next(os.walk(dir))[2] #dir is your directory path as string
print len(onlyfiles)

답변

fnmatch가 매우 유용한 곳입니다.

import fnmatch

print len(fnmatch.filter(os.listdir(dirpath), '*.txt'))

자세한 내용은 http://docs.python.org/2/library/fnmatch.html


답변

하위 디렉토리의 파일을 포함하여 디렉토리의 모든 파일을 계산하려면 가장 비법적인 방법은 다음과 같습니다.

import os

file_count = sum(len(files) for _, _, files in os.walk(r'C:\Dropbox'))
print(file_count)

파일 수를 명시 적으로 추가하는 것보다 빠른 합계를 사용합니다 (타이밍 보류 중)


답변

import os
print len(os.listdir(os.getcwd()))

답변

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