0

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

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

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

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

我认为这样做的方法是在“buildstring.py”的开头发出“从getsensor导入时间、高度、压力”,但这似乎不是我所期望的......任何建议或提示我在正确的方向?尽量保持简单。

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

4

3 回答 3

2

有很多方法可以做到这一点,一个简单的方法是创建一个集中的脚本并执行它来运行你的函数

您可以导入必要的功能,就像您在问题g中列出的那样

#main.py    

from getsensor import time, altitude
from buildstring import your_function    

if __name__ == '__main__':
   result = altitude()
   your_function(result)

正如您所看到的,有很多方法可以完成您正在尝试做的事情,最重要的是要充分考虑程序的结构和模块之间的关系,以便您的程序具有可扩展性和可维护性

于 2013-03-14T16:50:00.067 回答
0

通常它的习惯是在每个模块中都有一个入口点,然后你可以做类似的事情

from buildstring import app
from getsensor import main

result = app(1)
main(result)
于 2013-03-14T16:49:06.130 回答
0

取决于您存储变量的方式/位置。

如果您将它们作为全局变量,请参阅此解决方案

但是,我会尝试通过方法调用将变量从 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)
于 2013-03-14T16:55:21.580 回答