Время выполнения в конечном l oop, в то время как синхронизация вызовов подпроцесса приводит к бесконечному l oop, застрявшему в первом аргументе l oop - PullRequest
0 голосов
/ 19 марта 2020

Учитывая функцию, которая перебирает аргументы и время вызова подпроцесса, мне интересно, почему вместо циклического перебора аргументов l oop среда выполнения застревает в бесконечном l oop выполнении первого аргумента?

Минимальный пример:

from subprocess import run
from timeit import timeit
from functools import partial
def echome(txt):
    run(['echo', txt])
for i in ['a','b','c']:
    echo_wrap = partial(echome, i)
    timeit(echo_wrap)

Я ожидаю, что код отобразит "a", "b", "c", а затем завершится. Тем не менее, он продолжает печатать «а» вечно

Python env

Python 3.6.8 (default, Jan 14 2019, 11:02:34)
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux

решено Функция неправильно понята, она запускает функцию 1 000 000 раз, как описано в * документы 1014 *

...