как зацикливать цикл for 5 раз, который уже зацикливает код Python в подпроцессе? - PullRequest
0 голосов
/ 21 июня 2019

код:

    import subprocess
    import json


    my_dict = {}
    for i in range(10):
     x=subprocess.Popen(["python","first.py"],shell=True, stdout=subprocess.PIPE)
        output = x.communicate()
        my_dict.update({i: json.loads(output[0])})

Этот код зацикливает скрипт Python 10 раз и сохраняет вывод в словаре.

Как зациклить это для цикла 5 раз, чтобы было два для цикла.

1 Ответ

1 голос
/ 21 июня 2019

Добавьте цикл вне этого, если вы хотите обновить тот же дикт.


    import subprocess
    import json


    my_dict = {}
    for j in range(5):
        for i in range(j*10, j*10 + 10):
            x=subprocess.Popen(["python","first.py"],shell=True, stdout=subprocess.PIPE)
            output = x.communicate()
            my_dict.update({i: json.loads(output[0])})

Объяснение - range(j*10, j*10 + 10) Он в основном изменяет диапазон dict в соответствии с другим циклом, так что значения не переопределяются, и dict расширяется соответственно с изменением цикла. Ранее это было обновление того же 10 indices из dict.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...