Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
向python生成器添加元素_Python_Append_Generator - Fatal编程技术网

向python生成器添加元素

向python生成器添加元素,python,append,generator,Python,Append,Generator,是否可以将元素附加到python生成器中 我目前正试图从一组杂乱无章的文件夹中获取所有图像,并将它们写入一个新目录。要获取这些文件,我使用os.walk()返回单个目录中的图像文件列表。虽然我可以从这个列表中生成一个生成器,但我不知道如何将所有这些列表合并到一个生成器中。任何帮助都将不胜感激 相关的: 像这样 def threeGens( i, j, k ): for x in range(i): yield x for x in range(j):

是否可以将元素附加到python生成器中

我目前正试图从一组杂乱无章的文件夹中获取所有图像,并将它们写入一个新目录。要获取这些文件,我使用os.walk()返回单个目录中的图像文件列表。虽然我可以从这个列表中生成一个生成器,但我不知道如何将所有这些列表合并到一个生成器中。任何帮助都将不胜感激

相关的:

  • 像这样

    def threeGens( i, j, k ):
        for x in range(i):
           yield x
        for x in range(j):
           yield x
        for x in range(k):
           yield x
    
    效果很好

    您正在寻找的。它将多个iterables合并为一个iterables,如下所示:

    >>> import itertools 
    >>> for i in itertools.chain([1,2,3], [4,5,6]):
    ...     print(i)
    ... 
    1
    2
    3
    4
    5
    6
    

    这应该可以做到,其中
    目录
    是您的目录列表:

    import os
    import itertools
    
    generators = [os.walk(d) for d in directories]
    for root, dirs, files in itertools.chain(*generators):
        print root, dirs, files
    

    itertools.chain(range(i)、range(j)、range(k))
    @j.F.Sebastian:range是os.walk(…)。如何在
    os.walk
    的上下文中使用
    chain
    ?@j.F.Sebastian:
    chain(os.walk(“.”),其他\u生成器)
    从iterable(imap(os.walk,目录)开始使用
    
    
    import os
    import itertools
    
    generators = [os.walk(d) for d in directories]
    for root, dirs, files in itertools.chain(*generators):
        print root, dirs, files