python中的Multipletuple

2024-04-29 06:10:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我相信这在别处已经解释过了,但我找不到任何对我来说完全有意义的东西。在

我想用手术室步行()函数,它返回一个3元组。我现在知道如何正确地使用它(对于x,y,z手术室步行()),但我仍然对三元组的内部结构感到困惑。也许不完全有必要理解这一点,但请幽默我自己的理智。在

根据手术室步行,三元组响应的形式为(rootdirname、sub dir列表、文件列表)。但是,它只描述单个目录的数据,而不描述子目录的数据。在

我的问题是,如果整个物体的形式实际上是: A) 三项元组(root1,subdirs1,files1),(root2,subdirs2,files2)。。。在

或者

B)由3个不同列表组成的元组((root1,root2),(subdirs1,subdirs2),(files1,files2)),其中仅仅通过元组魔术,所有的1都关联在一起,所有2都关联在一起。在

谢谢你的帮助

编辑: 感谢Peter DeGlopper关于生成器对象的提示。在

最初的问题产生是因为我假设手术室步行()返回了一个3元组的列表,但实际上它在循环的每次迭代中都会动态生成一个3元组。在


Tags: 数据函数列表形式意义元组步行三元组
1条回答
网友
1楼 · 发布于 2024-04-29 06:10:44

对于遍历的每个目录,您将获得指向该目录的路径、该目录中的文件以及该目录中的目录的元组。后两个是序列(列表,但这无关紧要)。你这样使用它们:

for root, files, dirs in os.walk("/path/"):
    for filepath in files:
        filepath = os.path.join(root, filepath)
        # process file
    for dirpath in dirs:
        dirpath = os.path.join(root, dirpath)
        # process dir

相关问题 更多 >