使用 os.stat 时,是否创建了元变量?

When using os.stat, is a meta variable created?

我目前正在学习 python 使用本指南(如果您需要更多上下文)http://www.diveintopython3.net/comprehensions.html#dictionarycomprehension

>>> import os, glob, humansize
>>> metadata_dict = {f:os.stat(f) for f in glob.glob('*')}                                  ①
>>> humansize_dict = {os.path.splitext(f)[0]:humansize.approximate_size(meta.st_size) \     
...                   for f, meta in metadata_dict.items() if meta.st_size > 6000}          ②
>>> list(humansize_dict.keys())                                                             ③
['romantest9', 'romantest8', 'romantest7', 'romantest6', 'romantest10', 'pluraltest6']
>>> humansize_dict['romantest9']                                                            ④
'6.5 KiB'

为什么是'humansize.approximate_size(meta.st_size)','for f, meta'中的meta变量是从哪里来的?

这与os.stat无关。

你似乎跳过了那一章的主题,理解 - 这是一个字典理解。正如前面对列表理解的讨论,dict comp 为它正在迭代的 dict 中的每个项目创建变量。在那段代码的脚注中对此进行了解释。