Fast File Count: Recursively count files and directories very quickly
Project description
Fast File Count in Python
This is a Python package to quickly count the number of files and directories in a given path. Optionally you can count recursively and include hidden files in the total.
This package is a wrapper around fast-file-count
by Christopher Schultz
. Credit for the initial version
belongs to Christopher Schultz, I wrote the Python wrapper, converted the
Windows code to use builtin functionality, and packaged it up. See the file
src/c_count.c
for the other contributors and see the commit history of
this package on GitHub for my exact changes.
Installation
Installation can be done easily with pip:
$ pip install ffcount
Usage
There is a command line application called ffcount
, which recursively
counts files and directories:
$ ffcount
See ffcount -h
for options.
The package can also be used as a Python library, using the ffcount
function. This function returns a tuple (number_of_files, number_of_dirs)
and it can be used as follows:
>>> from ffcount import ffcount
# count everything under the current path
>>> ffcount()
(521013, 43012)
# count without hidden files
>>> ffcount(hidden=False)
(234012, 12082)
# use a different path
>>> ffcount('/tmp')
(81, 10)
Note that ffcount
counts links as files, even if they point to a
directory. In some cases, this explains the discrepancy with other ways of
counting.
To obtain the full function documentation, simply run:
>>> import ffcount
>>> help(ffcount)
License
The original C code by Christopher Schultz was licensed under the Apache License 2.0. This package is therefore licensed under this license as well.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for ffcount-0.2.2-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4dd977a92f9e36d6c1123bb5451a414e07f6ea46861788b5511ff811bbb24e15 |
|
MD5 | d56016d0aed4d87f9316f4c189ee62ed |
|
BLAKE2b-256 | 3401064a06495b24079a7ded2ccbfc6cce3d3b208e94a3db3837124ea0a8c9d2 |
Hashes for ffcount-0.2.2-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb1397ae98e797e59ec7f1a6375057c26367a39319ffd03b601fe0c0140dabac |
|
MD5 | 55f785d1516d2a473b89dd7a8f6ef548 |
|
BLAKE2b-256 | 5ad56cd4a4399f14ae301c4847edce12170b7f296a23aadaaaf76acf64c8fdf2 |
Hashes for ffcount-0.2.2-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c1d3315070b22a3204925358afe6c5c754660ce9d13e3875975e6906efd0c7e |
|
MD5 | a42d0655f3d8d1ee371bf2ba89f5dc3a |
|
BLAKE2b-256 | 6c988ecfe9035171e248316412c16f74d1ed703994d041d8b6bbf008ed7e55a0 |
Hashes for ffcount-0.2.2-cp311-cp311-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49f9b45e3ac2b0d6b43426bd5f06cb42262f41e394ce9d46dbd796fe93b6ec21 |
|
MD5 | 9ae98190eca735ade375fb85ff3e6441 |
|
BLAKE2b-256 | 2c5c9109920fd7e0fb9c5a673ede1586a8af87e66f054d3602e9a62c4a88396d |
Hashes for ffcount-0.2.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a153eeb6c3107a204041f1e2e9e473459abbbf8113c70cac31cfd8b91d012015 |
|
MD5 | 2ff82995ad8dd0bcffcf57264f7a69e8 |
|
BLAKE2b-256 | 9a3eb17129dc06eae028d9707709f08b5204de87ad817515558ed77200989e67 |
Hashes for ffcount-0.2.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9306ef22c35afdb7e4391c70310b0e9b1a07998f8887345cbc3a634943b9c229 |
|
MD5 | c78ba9f8e31af19a3637142cde77eb9d |
|
BLAKE2b-256 | 520591b804402edd1d4fbf7a653b021baa93d3e6407a80a4b2184ba442e20e47 |
Hashes for ffcount-0.2.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61bf33d62e94bc8ebbbd868ad52944de4ce5a2db2059375a86756d16dd22d143 |
|
MD5 | 32eca013fc7406cb234d9d6688d79266 |
|
BLAKE2b-256 | 49bb2391ad867bee0b3dffc25a7774d356cb5b2acfc1075015d1613176e38494 |
Hashes for ffcount-0.2.2-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9523cdbf65b4d23f1282b076541519076678f347c3e04e7706d177d8d389726a |
|
MD5 | ccbb95b42d9f8b284afdb87e56dbd212 |
|
BLAKE2b-256 | af386349d4814601c722fcd2caf65a2497d0849314554abf7051cd16d1d368fa |
Hashes for ffcount-0.2.2-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1f4d7569374433f0ed9aa366ff746c591293bba700b11391316be2df9e5050e |
|
MD5 | 77fdfe2c030ee2a3ed4ebd1b47731583 |
|
BLAKE2b-256 | 75d1e10e35a6ce9ff6041f60f0c294747ea6a48de675b4868f45d4a82f186c19 |
Hashes for ffcount-0.2.2-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be8095a0a1f0d611c5382d1879c2d5d5ddd5f043b6fd48d84ec10a0c12fd0894 |
|
MD5 | 4aa09385370ceb6589dbd57db644db54 |
|
BLAKE2b-256 | 0710ba566d245c69e27780fdfed9573826488e7bd1214c83838245a8f6d220a5 |
Hashes for ffcount-0.2.2-cp310-cp310-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34201dd5216ab7023d7f9dec231ac5061d83cf138eed6429e99b46370e75d115 |
|
MD5 | b9a6043978165c1d6ab5631fc78bc2a6 |
|
BLAKE2b-256 | aceb3d37150f1870be35c91b74bd0586d6651eead745175f90c831ea1bbb6f24 |
Hashes for ffcount-0.2.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e71a2c9840d9233168bd8c781071e158bb1ea3dac9867e04d8db5c9ce9b1e658 |
|
MD5 | 83f79900dcd23b5ccdee22f62215038d |
|
BLAKE2b-256 | a0bd136f4ecc431a24399d9da050e2851301b491de285f64cb6727e25d035272 |
Hashes for ffcount-0.2.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81916c1a4b4b9cd4f971481fb4b84c2ae8ddb0cd9f1a64d6062abb23a55b9345 |
|
MD5 | 560f65b1ee2a661272c7e28c927dd450 |
|
BLAKE2b-256 | 403b2b257f1b80397f1c0e71f5a51020ab9128b0012d16a21ecaa303f5a5380d |
Hashes for ffcount-0.2.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb5075ee52db7375907f07ea07c1740cb527034382e6a0a45dec4559a77dab35 |
|
MD5 | f59118792732cb4df14b79630cf05c49 |
|
BLAKE2b-256 | eac760d2558f185299212caba722a2aeda9c82363d5831ddb40a6b5311e07094 |
Hashes for ffcount-0.2.2-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23d55683147f0eda277a7d7541c274546a0c69bc21fc5171e6fb283874fd4782 |
|
MD5 | c535d30b8ba1cfd3afbbf555986592a2 |
|
BLAKE2b-256 | 8d0cee2a2585dbe8acdbbc12b864cca329c520840add575994ebf14e6aa7f607 |
Hashes for ffcount-0.2.2-cp39-cp39-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ba5ff925f8260b43e04ae34eb187103bc1c04a7f8e4e2143f42ea83d1b41d4e |
|
MD5 | b624b3393e9af375a0ba5e7fe997fec1 |
|
BLAKE2b-256 | b10f17a9a71359876b88b9fd6295e4fded2510630300fb0599d4cea1b4a7eccd |
Hashes for ffcount-0.2.2-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fb6a99511f7645686d6d3426339eec9a6c8f2fa8bd4343d6123e831956151cd |
|
MD5 | c2dbcf8dc0bed2ff3ed5e62810111846 |
|
BLAKE2b-256 | dc598c3cc084a1f115c7cc7cceccacfb6165cd7368a64fed56fae633a0f3a2e7 |
Hashes for ffcount-0.2.2-cp39-cp39-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 025f955b65db4331ec5154e720fcd23e74250658a2705ac5a3922fb4ac58f4a5 |
|
MD5 | b411fd366055310ea8db68b4c7f9018f |
|
BLAKE2b-256 | 01e796af5f87544d68f9596797bf5f5336edfd380f774c69adb16ca3b49d8d3a |
Hashes for ffcount-0.2.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af6bfeb5847e4ad15083bf80f8ca3fd82bb0f3061a70187b709e045b8c9fc9d8 |
|
MD5 | 8b59cf15c8825051f1e63528bc77bcdb |
|
BLAKE2b-256 | 1adc32fe991dbea4af9761c48a7a4cce9532ee5081e91e35d8bc9daa77bfbb87 |
Hashes for ffcount-0.2.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3bd149c68cb043d1e82297c341bddf395b0124f680fa286f293cc84fc895d027 |
|
MD5 | 68affea0bd1e2829e8fc0cb255db119c |
|
BLAKE2b-256 | f6061704f6df00cc4254fc5e25df4feb8a7f0664c9e3c0f7866108d892b452af |
Hashes for ffcount-0.2.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c159573f4fc7d74babf09e2dd69d218f425e87da88fa37c344751932b5f1760d |
|
MD5 | 828c90f039c51650bc92c2f09c6628e1 |
|
BLAKE2b-256 | 4d50a95d00cdcee03e02ce71d74cecf221bb451ddb2f4920b34cc28ddde13490 |
Hashes for ffcount-0.2.2-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75ef9717a8084445391810c1383afc775ed44628862dccb6e1b80e9545bc52c6 |
|
MD5 | c1b411cbfb2f1a85ca927173685aafb8 |
|
BLAKE2b-256 | 9e6779a77e19693bbbb08be71d148f2593bdb50a4aea4350797fba3c58556030 |
Hashes for ffcount-0.2.2-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c03c916b691e7956c753444228fcb1189d6ffa70cba86f158bc8fe79bddc0930 |
|
MD5 | beeb303a33de67185986e9a77106008c |
|
BLAKE2b-256 | bfd4530d48e1bdbd874a41b7bd75872ff35ff4588a631f4b4f543314ef5b674c |
Hashes for ffcount-0.2.2-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4fba9b5cc05f33a6d8c7ccfa029cf25d8ad485900c916feb03372c2f688d334 |
|
MD5 | fd109a286141e2c6717cb4d61410750e |
|
BLAKE2b-256 | 8bcecca89be3fb4ae72824c9e362eb5988e33e9b15bf67c269b61c58d0a47fda |
Hashes for ffcount-0.2.2-cp38-cp38-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b59023d956becea29b019819fc82accb2d435317ac3472900cebac726476c74e |
|
MD5 | 58b001ce3edb96f75cfda864b26d3075 |
|
BLAKE2b-256 | af3cb41d57de8afc078deb15fec0b65f38ca202b9f71a106cf858fabf1dcb11e |
Hashes for ffcount-0.2.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f5fe9b0c488e2ef4dd25bf7d28b8273f3a83ffca8b6bc7b229b01962e833f2e |
|
MD5 | abda1af4e9ea1325a95ef08adbf49603 |
|
BLAKE2b-256 | d7aca81ca2ea6170af4d245573fe7dab32f4b1af68e1eb0eeff963c565f0f1ee |
Hashes for ffcount-0.2.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b53717edf44b7f5c4f27735aeb55f4b087c1c54c2cc840d64298197fc6b1311 |
|
MD5 | 45dd8598b8d560da46c88a4041505206 |
|
BLAKE2b-256 | eaa69ad3a406aafdcb5e7f777e6a19010c7c3b871aae3345c31cd0db7fd581c5 |
Hashes for ffcount-0.2.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c82415c016482176809b2288e6a7aa49612d9edbdbd1089512662bdd1ed51b1e |
|
MD5 | d9a76b0f6d717ea79472f04401a3b61b |
|
BLAKE2b-256 | bc26ef2ca4d18c00a6caf076600fb01cb4726b4370f6024e1842809b2128d063 |
Hashes for ffcount-0.2.2-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0e7a472186a6abd482f0edc66982c5b7ea8d8128642615f201b7229542d4a83 |
|
MD5 | 59db8abc2f4bc69e2ddcb7771279d6ae |
|
BLAKE2b-256 | d5b9e3aae8ab16a40ae7b2e59226d0afd69365d0ce088f63492dada5737bbc60 |
Hashes for ffcount-0.2.2-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbc0afc63229a676062e49e0f28fe07b0dfb9b77d4cdedc56313af968c4e9791 |
|
MD5 | 9a296d2de9e9c0322e0c3d2b59cc38bc |
|
BLAKE2b-256 | b100ea1d08b011191bb4628b0f7a1d04d969e8d515b0d3b01b0819b25937b596 |
Hashes for ffcount-0.2.2-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 095579b2d43c058fc078c3a29d0dab4188fdf1e13a05b97704ca835b9fa1b7f9 |
|
MD5 | a46c87528fa5171cca60d7187fa78725 |
|
BLAKE2b-256 | 01384c5706113ce8f410759a4201ac02afdc86ebcda747ba442f2a0cec11d71f |
Hashes for ffcount-0.2.2-cp37-cp37m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e7358c2f79fb9cb8ebba10011d0db7728656da9ae7a56d5b5047d315fabeb51 |
|
MD5 | fd91d206337ec921faed6b19f9f5d67d |
|
BLAKE2b-256 | ccfe5724458e193155123a5f2612b43d3ad773d8ecf7685cfa5beb031af66d67 |
Hashes for ffcount-0.2.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67c02168058c791c2ad23a578cdd7e276af138093c67f8ae8333aef9904142c8 |
|
MD5 | ac3bd67d14cdd18964b1ba5f8297e967 |
|
BLAKE2b-256 | 7e8e9e89ee1017a6033cbdb8697d2551caae7d9da284a987c9b738f080108e6b |
Hashes for ffcount-0.2.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd6f15fb94784f99f66daa8da7d51ccbc487bffb60f2521064c7e6932a51ba7a |
|
MD5 | 56d8b93f2fb48d4fb6a34349244bee9b |
|
BLAKE2b-256 | 0d2db8730b512f7ebee800ff85464126b91882507f751a227a6dbbeb6be506fe |
Hashes for ffcount-0.2.2-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a548a2a9e025f3f3e120802316d704852d5645bf97231c865cfdff297a81694d |
|
MD5 | 7dbbeb8ed64539e8369e88af91348d37 |
|
BLAKE2b-256 | 737da1f5c50dd6203bdf4b43fd00b9af5db0132a9d08d41d4143e1356803cfa1 |
Hashes for ffcount-0.2.2-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28f49044b0f75394d31b2e2dddf10ee196d776a92fc02df17c0b59c8819a2780 |
|
MD5 | e86d92198169f4fcfb38fcaeca9f23c5 |
|
BLAKE2b-256 | 40a96ba341db41f3188dddae32aea6e16c126351c6e3c5598d016742f04ceefa |
Hashes for ffcount-0.2.2-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d23a04af5db32c7fc180ef486713e4ce07cc040af8b378319759833d2d6ea7e |
|
MD5 | 9f566403b87fa8dd4cf60e2f859b02fa |
|
BLAKE2b-256 | 65c8942259246f86c7142d79c7cc5011d2bd2c3de716e38848559d6ce734f711 |
Hashes for ffcount-0.2.2-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95ba7621e963fe31c15cfbd9f7a673b6341cbc301affa82e72ea736ef95ba865 |
|
MD5 | 0b8e5645d04bf505a3b4596751bccae9 |
|
BLAKE2b-256 | e3c858c7269c3a845c7c062caec7b027e62fda6d977a4bdb1a5a4676655504fa |
Hashes for ffcount-0.2.2-cp36-cp36m-musllinux_1_1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a2676a52d9fab385bc004c3397523ba0bebfbe30e0ebb25e1ea990d96de420a |
|
MD5 | 49f2f2a9d6361613114c6d2ded170a78 |
|
BLAKE2b-256 | b7fe580e352624ca551f5474db100abd183a06369fddfda498a9eef28a44040a |
Hashes for ffcount-0.2.2-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7615fe7bc957e5acf35e5e2a5999ccca6fdc128aeeda741316d0e27f976e647 |
|
MD5 | 6372323f83fdea29a4f99ae94e9d9437 |
|
BLAKE2b-256 | b9f4dfb762e9cb2062cee55b246837fde9de8aab0af47fc1fa5c34200b9528e1 |
Hashes for ffcount-0.2.2-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12be7e5285224d0b4e0b1a4d107fda2fa98d5a8640b670f5ddc6cdaa96e88bce |
|
MD5 | e6b26c7c1b52bcd35072725759f2fd27 |
|
BLAKE2b-256 | 07604ac1befb537c29f62e6b7bdaa828ce0ff0e8edec5ea8dd21ed5017c89c5d |
Hashes for ffcount-0.2.2-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac07cd0a6bf9d171d139e09af457d9bebcba193e20947462b6c995a43c8f676e |
|
MD5 | 3adf579299e068d511c5f9eb87fc0b06 |
|
BLAKE2b-256 | 40db7353233a4094c89220f50e079f00a644267eaa719688676143c5159ff2ee |