Как запустить подпроцесс в Python с аргументами перед исполняемым файлом? - PullRequest
0 голосов
/ 06 июня 2019

Чтобы запустить подпроцесс в Python, я в настоящее время использую с открытым ('input_play', 'r') в качестве myinput: с открытым ('myoutput', 'w') в качестве myoutput:

    p = subprocess.run(["./executable", cfg_file], stdin=myinput, stdout=myoutput)

Однако мне нужно было бы сделать следующее, чтобы выполнить программы с разными случайными начальными числами

p = subprocess.run(["RAND_SEED=0 ./executable", cfg_file], stdin=myinput, stdout=myoutput)

но это приводит к следующей ошибке:

Traceback (most recent call last):
  File "input_pynput.py", line 53, in <module>
    p = subprocess.call('"RAND_SEED=5" ./executable flatMap2')
  File "/usr/lib/python3.7/subprocess.py", line 323, in call
    with Popen(*popenargs, **kwargs) as p:
  File "/usr/lib/python3.7/subprocess.py", line 775, in __init__
    restore_signals, start_new_session)
  File "/usr/lib/python3.7/subprocess.py", line 1522, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '"RAND_SEED=5" ./executable flatMap2': '"RAND_SEED=5" ./executable flatMap2'

Есть ли способ сделать это с помощью модуля подпроцесса или есть другой модуль, который можно использовать для достижения желаемого поведения?

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