我想知道一个文件夹中有多少文件(特别是 Windows 上的共享网络文件夹,如果这在这里有所不同的话)。
我现在正在使用此代码:
include os.path
def countFiles(path):
return len([f for f in os.listdir(path)
if os.path.isfile(os.path.join(path, f))])
当文件夹中有几个文件时它工作正常,但在有很多文件的目录中需要很长时间(比如 4000)。我经常运行这个(文件每 15 秒添加一次),所以减速很痛苦。
在我的特殊情况下,我知道没有任何子文件夹,所以我可以跳过os.path.isfile
检查,但我想保持我的解决方案通用。坦率地说,我很惊讶 os.path 上没有内置的 # of files 函数。