我一直在从一个脚本发送一个变量到另一个脚本,并做了一些基本的事情很容易,但我已经卡住了,并希望得到一些输入。发送从一个脚本到另一个脚本的循环变量的值
这是我script1.py
import time
x = 0
while x < 100:
x = x+1
time.sleep(1)
这是我script2.py
import subprocess
subprocess.Popen("python script1.py", shell=True)
from script1 import x
print(x)
这样做的输出仅仅是100
有没有一种方法来打印变量每当它通过script2.py更新时,它们都是x
?
所有这些的原因是我正在从脚本中的串行端口读取数据,但是我希望在不同的脚本中使用输出。因此,只要有数据从串行端口获得存储在一个变量中,我希望将该变量传递给另一个脚本。
编辑:我有一个python脚本,它脚本从一个串口读取数据并记录数据。
就这么说,我想要第二个脚本,它可以从第一个脚本获取包含数据的列表,以便为不同的任务操作它。
编辑2: 我修改了代码如下,但没有打印。
#script 1
import time
x = 0
while x < 100:
x = x+1
print(x)
time.sleep(1)
#script 2
import subprocess
proc = subprocess.Popen(['python','script1.py'],stdout=subprocess.PIPE)
while True:
line = proc.stdout.readline()
print(line)
那么,是你通过一个子/管连接两个脚本,或者你想要将一个导入另一个?你目前的方法没有任何意义。 – deceze
我的脚本通过子过程链接。什么样的方法会有意义?我对python仍然很陌生,所以有很多我不熟悉的东西。 – BadProgrammer
如果您的脚本通过子流程/管道进行通信,则需要通过该管道传递值;例如'script1.py'写入标准输出,'script2.py'读取第一个脚本的标准输出管道。那么你也不会从'script1'导入x,因为这会绕过整个子流程/管道。 – deceze