1

基本的にいくつかのモジュールをインポートし、いくつかの変数を初期化し、いくつかの関数を呼び出す一連のコードでスターを付ける Python プログラムがあります。その一部を次に示します。

import numpy as np
import scipy as sp
import scipy.optimize as opt
import scipy.constants as const
import random
import time

if os.name == 'nt': os.system('cls')
if os.name == 'posix': os.system('clear')
rows, columns = os.popen('stty size', 'r').read().split()

Inclination = math.radians(INCLINATION)
Period = PERIOD*const.day

これらすべてを 1 つのモジュールにまとめて呼び出す方法はありますか? これらすべてを外部プログラムに入れて呼び出そうとしましたが、理解したように、すべてがローカルでのみ行われ、メインコードでは行われませんでした。

この「初期化モジュール」を複数のプログラムでも使用できるようにするという考えです。

4

2 に答える 2

5

そのすべてを他の .py ファイルに入れてみましたfrom x import *か? 次に、呼び出し元のファイルにこれらのモジュールと定数をすべて含める必要があります。

編集:そのすべてを複数回実行することを心配している場合でも、気にしないでください。インポート時に、Python はモジュールが既にロードされているかどうかを確認してから、そのモジュールを再度ロードします。たとえば、次のファイルがあるとします。

fileA.py => from initializer import *
fileB.py => import initializer
fileC.py => import fileA, fileB

fileC.py を実行すると、initializer.py のコードは、fileA と fileB の両方が正常にロードされたとしても、また異なる方法でロードされたとしても、1 回だけ実行されます。

于 2013-04-05T17:15:20.053 に答える
0

特別なメカニズムは必要ありません。このモジュールをインポートすると、python がそれをスローし、すべての値が初期化されて使用できるようになります。インポートするだけで、これですべてです。

于 2013-04-05T17:16:36.047 に答える