对于 os.walk() 中的目录、_、文件

for dirs,_,files in os.walk()

谁能解释一下这个for循环中_的用法?

for dirs,_,files in os.walk(directory):
   for f in files:
       yield os.path.abspath(os.path.join(dirs, f))

我的目标是递归地获取具有完整路径的文件名。 我从另一个问题得到了这个,它完全符合我的要求。但我不明白。

os.walk returns 元组 (root, dirs, files) 其中

  • root: 当前目录
  • dirs: 当前目录下的文件
  • files: 当前目录下的文件

如果您在后续循环中不使用这些变量之一,习惯上将其称为_(甚至附加一个名称,例如_dirs)。这样大多数 IDE 就不会抱怨你已经分配了一个变量但你没有使用它。

在您的示例中,您可以这样做:

for root, _dirs, files in os.walk(directory):
    pass

和IDE不应该抱怨你没有使用变量_dirs