我有一个在循环上运行的Python文件,它打印出某事发生的估计时间。 我想要另一个Python文件导入它并打印出来! Exampel:
#loop.py
import datetime
import time
while 1:
moment = datetime.datetime.now()
next_moment = datetime.datetime.now() + datetime.timedelta(minutes = 10)
time.sleep(50)
#Print.py
import datetime
from loop import moment, next_moment
print moment
print next_moment
print "Exit"
但是,如果我运行Print.py它什么都不做。(应该说“退出”吧?)
如果我取消了它的说法:
^CTraceback (most recent call last):
File "print.py", line 2, in <module>
from loop import moment, next_moment
File "/home/pi/Programming/Tests/loop.py", line 8, in <module>
time.sleep(50)
KeyboardInterrupt
所以我想通过导入scpript loop.py来运行它。现在有没有办法让我从变量中获取变量?
感谢您的回答!
答案 0 :(得分:1)
您的方法不起作用,因为loop.py和print.py是不同的进程。您想要进程间通信。 python中的导入不是从其他进程访问数据,它是关于从文件加载代码进入您的进程。您无法读取属于另一个进程的数据,除非该进程以某种特定方式公开它,或者除非您正在调试它。
您的问题的一个可能的解决方案是在loop.py中打开一个套接字并在那里监听请求。然后print.py将连接到套接字,发送请求,接收当前状态的响应并打印它。