尝试打印图像计数
Posted
技术标签:
【中文标题】尝试打印图像计数【英文标题】:Trying to print image count 【发布时间】:2021-03-12 12:17:37 【问题描述】:我是 Python 新手,我正在尝试为一个项目启动 CNN。我安装了 gdrive 并尝试从 gdrive 目录下载图像。之后,我试图计算该目录中的图像。这是我的代码:
import pathlib
dataset_dir = "content/drive/My Drive/Species_Samples"
data_dir = tf.keras.utils.get_file('Species_Samples', origin=dataset_dir, untar=True)
data_dir = pathlib.Path(data_dir)
image_count = len(list(data_dir('*/*.png')))
print(image_count)
但是,我收到以下错误。
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-78-e5d9409807d9> in <module>()
----> 1 image_count = len(list(data_dir('*/*.png')))
2 print(image_count)
TypeError: 'PosixPath' object is not callable
你能帮忙吗?
经过建议,我的代码如下所示:
import pathlib
data_dir = pathlib.Path("content/drive/My Drive/Species_Samples/")
count = len(list(data_dir.rglob("*.png")))
print(count)
【问题讨论】:
【参考方案1】:您正在尝试使用 pathlib
具有的一种 glob 方法来 glob 文件:
import pathlib
data_dir = pathlib.Path("/path/to/dir/")
count = len(list(data_dir.rglob("*.png")))
在这种情况下,.rglob
是一个递归 glob。
【讨论】:
感谢您的建议。我很感激。但是,它仍然打印计数为 0。它看到主目录的内容和目录中的文件夹内容(PNG 文件),但仍然打印计数为 0。您知道可能是什么问题吗? 您确定目录中有.png
文件吗? rglob
方法中的文本区分大小写,所以*.png
≠*.PNG
。
看起来我在 data_dir = pathlib.Path("content/drive/My Drive/Species_Samples/") 中的内容之前错过了斜线。代码现在很重要。谢谢您的帮助。我很感激。以上是关于尝试打印图像计数的主要内容,如果未能解决你的问题,请参考以下文章
使用 goroutine 时在 golang 中打印一个准确的计数器