0

私はpython /プログラミングが初めてなので、この質問に対して間違った構文を探していたのかもしれません。

私はいくつかのpythonスクリプトに取り組んでいます。たとえば、Python スクリプトの 1 つで、時間、高度、気圧などのセンサー データを取得しています。これを getsensor.py と呼びましょう。

次に、「getsensor.py」からのデータを必要とする別のスクリプトがあります。これを「buildstring.py」と呼びましょう。

そこで、「getsensor.py」を呼び出してから「buildstring.py」を呼び出す単純な全体的な Python スクリプトが必要でした。

これを行う方法は、「buildstring.py」の冒頭で「from getsensor import time、altitude、pressure」を発行することだと思いましたが、これは私が期待しているものではないようです...指摘するアドバイスやヒント私は正しい方向に?かなりシンプルにしようとしています。

編集:「インポートX」を発行することで、そのスクリプトを実行しているようです。そのため、これを行うと、X スクリプトにコードが含まれているため、スクリプトが無限ループで実行されます。私が実際に行った唯一のプログラミングはアセンブリであるため、複数の python スクリプト間で共有できるデータを保存する方法がわかりません。

4

3 に答える 3

2

これを行うには多くの方法があります。簡単な方法は、一元化されたスクリプトを作成し、それを実行して関数を実行することです。

質問に記載されているのと同じように、必要な機能をインポートできます。

#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 に答える