解释Python开放功能段

时间:2016-12-02 03:27:11

标签: python

我试图从这个book学习应用于机器学习的Python。 我遇到了第3章中的以下代码,我并不完全理解:

posts = [open(os.path.join(DIR, f)).read() for f in
os.listdir(DIR)]

我知道open函数的作用但是当我看到os.path.join函数和f时我感到困惑。我可以得到一个noob程序员可以理解的直观而详细的答案吗?

1 个答案:

答案 0 :(得分:0)

这是列表理解。它等同于以下内容:

posts = []
for f in os.listdir(DIR):
    filename = os.path.join(DIR, f)
    file = open(filename)
    content = file.read()
    posts.append(content)

对于目录列表中的每个文件名,这会将文件名与完整路径组合在一起,打开它,读取它,然后将其添加到posts列表中。