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

Я совершенно новичок в подпроцессе, и мне нужно иметь возможность отправлять переменную из одного файла python в другой, используя эту библиотеку.

У меня есть небольшое представление о том, как отправлять данные из мастер-файла (что-то вроде этого?):

p = subprocess.Popen(['python', 'slave.py'], stdout=PIPE, stdin=PIPE, stderr=PIPE)
stdout_data = p.communicate(input='string')

Но как мне вызвать эту переменную в другом файле?

К сожалению, я не могу использовать любой другой модуль из-за характера моего проекта.

1 Ответ

0 голосов
/ 03 декабря 2018

Ваше описание немного расплывчато, но чтобы ответить на ваш вопрос, насколько я понимаю:

если ваш slave.py выполняется каждый раз, когда вам нужно передать ему переменную, вы можете передать его в качестве аргументана Cli.

var1='simple data structure such as string, int etc.'
subprocess.call(['python', 'slave.py', var1])`

В slave.py вы можете получить эту переменную из sys.argv:

import sys
name_of_program = sys.argv[0]
var1 = sys.argv[1]

Если ваш slave.py работает непрерывно, есть несколько способов:взаимодействуют между процессами в одной компьютерной системе:

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