我是python / programming的新手,所以也许我一直在为这个问题搜索错误的语法。
我正在研究一些python脚本。例如,在其中一个python脚本中,我正在抓取传感器数据,如时间,海拔高度和压力,让我们称之为getsensor.py
然后,我有另一个需要“getsensor.py”数据的脚本,让我们称之为“buildstring.py”
所以,我想要一个简单的整体python脚本,它会调用“getsensor.py”,然后调用“buildstring.py”
我认为这样做的方法是在“buildstring.py”的开头发出“来自getsensor导入时间,高度,压力”,但这似乎不是我所期待的...任何建议或提示我指向正确的方向?试图让它变得非常简单。
编辑:似乎通过发出“导入X”它正在运行该脚本。因此,当我这样做时,我的X脚本包含一些代码,这些代码会导致我的脚本在无限循环中运行。我真正做的唯一编程是汇编,所以我不确定如何保存可以在多个python脚本之间共享的数据
答案 0 :(得分:2)
有很多方法可以做到这一点,一个简单的方法就是创建一个集中式脚本并执行它来运行你的功能
您可以像问题中列出的那样导入必要的功能
#main.py
from getsensor import time, altitude
from buildstring import your_function
if __name__ == '__main__':
result = altitude()
your_function(result)
正如您所看到的,有很多方法可以完成您的尝试,最重要的是给出程序结构和模块之间的关系,以便您的程序可扩展和可维护
答案 1 :(得分:0)
通常它的自定义在每个模块中都有一个入口点,然后你可以做类似的事情
from buildstring import app
from getsensor import main
result = app(1)
main(result)
答案 2 :(得分:0)
取决于存储变量的方式/位置。
如果您将它们作为全局变量,请参阅this solution。
但是,我会尝试通过方法调用将变量从getsensor.py传递给buildstring.py 。
例如,在buildstring.py中编写一个将变量作为参数的方法:
def getVars(time, altitude, pressure):
# Do stuff with variables here, or pass them to other local methods
在getsensor.py中:
x = 100
y = 2
z = 8
def passVars():
import buildstring.py
buildstring.getVars(x, y, z)