我对子流程完全陌生,需要能够使用此库将变量从一个python文件发送到另一个。
我对如何从主文件发送数据有点了解(像这样?):
p = subprocess.Popen(['python', 'slave.py'], stdout=PIPE, stdin=PIPE, stderr=PIPE)
stdout_data = p.communicate(input='string')
但是如何在另一个文件中调用该变量?
不幸的是,由于项目的性质,我不能使用任何其他模块。
答案 0 :(得分:1)
您的描述有些含糊,但据我所知可以回答您的问题:
如果每次需要将变量传递给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
连续运行,则有几种方法可以在同一计算机系统上的进程之间进行通信:
stdin
(仅适用于简单的数据结构,例如字符串,整数等)