从运行文件(python)导入JUST变量

时间:2016-12-02 18:34:30

标签: python loops variables import

我有一个在循环上运行的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来运行它。现在有没有办法让我从变量中获取变量?

感谢您的回答!

1 个答案:

答案 0 :(得分:1)

您的方法不起作用,因为loop.py和print.py是不同的进程。您想要进程间通信。 python中的导入不是从其他进程访问数据,它是关于从文件加载代码进入您的进程。您无法读取属于另一个进程的数据,除非该进程以某种特定方式公开它,或者除非您正在调试它。

您的问题的一个可能的解决方案是在loop.py中打开一个套接字并在那里监听请求。然后print.py将连接到套接字,发送请求,接收当前状态的响应并打印它。