通过Python编程计算文件夹中的文件

时间:2014-12-29 19:20:57

标签: python file count numbers directory

我正在尝试计算我文件夹中的文件数(/ Home / python) 因此我制作了一个简短的节目

import os.path
path = '/Home/python'
num_files = len([f for f in os.listdir(path)if os.path.isfile(os.path.join(path, f))])

但它给我一个像这样的错误

Traceback (most recent call last):
  File "count_number_of_files_folder.py", line 3, in <module>
    num_files = len([f for f in os.listdir(path)if os.path.isfile(os.path.join(path, f))])
OSError: [Errno 2] No such file or directory: '/Home/python'

伙计们,你们可以帮助我制作无错程序。 谢谢

enter image description here

4 个答案:

答案 0 :(得分:8)

试试这个

import os.path
path = os.getenv('HOME') + '/python'
num_files = len([f for f in os.listdir(path)if os.path.isfile(os.path.join(path, f))])

这是因为你不在/ home / python中。你实际上在你的主目录是/ home / $ USER / python。如果您执行以下操作,<终端中的,您将看到自己的位置。

cd ~/python && pwd

答案 1 :(得分:3)

对于ubuntu h,它必须是小写home,您还需要提供用户名,因此请使用path = "/home/user_name/python"os.path.expanduser

os.path.expanduser将返回/home/username/python

之类的内容
import os
path = os.path.expanduser("~/python")
num_files = len([f for f in os.listdir(path)if os.path.isfile(os.path.join(path, f))])

答案 2 :(得分:1)

import glob, os
file_count = 0
WorkingPath = os.path.dirname(os.path.abspath(__file__))
for file in glob.glob(os.path.join(WorkingPath, '*.*')):
    file_count += 1

只需将源代码粘贴到您计算文件的任何目录中。这只计算文件而不是文件夹。

答案 3 :(得分:1)

我认为这是最简单的方法:

import os

img_folder_path = 'C:/FolderName/FolderName2/IMG/'
dirListing = os.listdir(img_folder_path)

print(len(dirListing))