【发布时间】:2018-04-25 06:42:30
【问题描述】:
我想要两个脚本在 python 中进行通信。我想让他们知道其他人是否失败了。
按照您在图片中看到的操作,我有一些问题。我运行rob2.py时自动运行rob1.py,这是为什么呢?
rob1.py
import simpy
import time
from rob2 import brok2
class Moving:
def __init__(self, env):
self.env = env
"""What does self.prov do?"""
self.prov = env.process(self.work())
self.broken = False
if self.broken == False:
global brok1
brok1 = 0
else:
brok1 = 0
#print(brok1)
def work(self):
while True:
yield env.timeout(20)
if brok2 == 1:
print("Robot 2 is not broken")
else:
print("Robot 2 is broken")
env= simpy.Environment()
moving = Moving(env)
env.run(until = 60)
rob2.py
import simpy
import time
from rob1 import brok1
class Placing:
def __init__(self, env):
self.env = env
"""What does self.prov do?"""
self.prov = env.process(self.work())
self.broken = False
if self.broken == False:
global brok2
brok2=1
else:
brok2 = 0
def work(self):
while True:
yield env.timeout(20)
time.sleep(5)
if brok1 == 1:
print("Robot 1 is not broken")
else:
print("Robot 1 is broken")
env= simpy.Environment()
placing = Placing(env)
env.run(until = 60)
当我在尝试运行脚本时收到此消息时,我做错了什么?
Traceback (most recent call last):
File "rob2.py", line 3, in <module>
from rob1 import brok1
File "/Users/erik/Python/python/rob1.py", line 3, in <module>
from rob2 import brok2
File "/Users/erik/Python/python/rob2.py", line 3, in <module>
from rob1 import brok1
ImportError: cannot import name 'brok1'
我看到了一些关于 zeroMQ 的帖子,是这样的吗?
【问题讨论】:
-
嗨,Erik,欢迎来到 SO!我强烈建议您将代码嵌入问题中,而不是证明指向快照图像的链接,输出也是如此。对可读性有很大帮助!祝你好运!
-
感谢您的反馈,我们会做出改变!
-
问题是否通过多线程解决,请阅读有关解决同时运行多个任务的问题的信息。对吗?