首页 > 解决方案 > 谁能帮我理解,下面的代码是如何工作的?

问题描述

我不明白的部分代码,它是如何工作的?

data_folders = [os.path.join(root, d) for d in sorted(os.listdir(root))
if os.path.isdir(os.path.join(root, d))]

这是代码的链接: https ://github.com/rndbrtrnd/udacity-deep-learning/blob/master/1_notmnist.ipynb

整个代码的屏幕截图: 在此处输入图像描述

问题:“os.path.join(root, d)”连接来自 for 循环的路径和文件夹名称 (d),一次一个。但我不明白做同样事情的“if”条件有什么用?(我猜)

标签: python

解决方案


我是这样读的:

如果加入的路径和文件夹名称是目录,则加入来自for循环的路径和文件夹名称,一次一个。如果没有,请跳过上述路径。

代码的目的是构建一个排序目录的列表。


推荐阅读