在python脚本之间传递变量的简单方法?

时间:2013-03-14 16:46:41

标签: python variables scripting

我是python / programming的新手,所以也许我一直在为这个问题搜索错误的语法。

我正在研究一些python脚本。例如,在其中一个python脚本中,我正在抓取传感器数据,如时间,海拔高度和压力,让我们称之为getsensor.py

然后,我有另一个需要“getsensor.py”数据的脚本,让我们称之为“buildstring.py”

所以,我想要一个简单的整体python脚本,它会调用“getsensor.py”,然后调用“buildstring.py”

我认为这样做的方法是在“buildstring.py”的开头发出“来自getsensor导入时间,高度,压力”,但这似乎不是我所期待的...任何建议或提示我指向正确的方向?试图让它变得非常简单。

编辑:似乎通过发出“导入X”它正在运行该脚本。因此,当我这样做时,我的X脚本包含一些代码,这些代码会导致我的脚本在无限循环中运行。我真正做的唯一编程是汇编,所以我不确定如何保存可以在多个python脚本之间共享的数据

3 个答案:

答案 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)