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

有没有一种方法可以将所有这些都放入一个单独的模块中并调用它?我试图将所有这些放入一个外部程序并调用它,但据我所知,一切都完成了,但只是在本地,而不是在主代码上。

这个想法是能够在多个程序中使用这个“初始化模块”。

4

2 回答 2

5

您是否尝试将所有这些放入其他 .py 文件中,然后只是from x import *? 然后你应该在你调用的任何文件中都有所有这些模块和常量。

编辑:如果您担心多次执行所有这些操作,请不要担心。在导入时,Python 会检查一个模块是否已经被加载,然后再次加载该模块。例如说我们有这些文件:

fileA.py => 从初始化程序导入 *
fileB.py => 导入初始化程序
fileC.py => 导入文件A,文件B

当你运行 fileC.py 时,initializer.py 中的代码只运行一次,即使 fileA 和 fileB 都成功加载了它,即使它们以不同的方式加载它。

于 2013-04-05T17:15:20.053 回答
0

你不需要任何特殊的机制。当您导入此模块时,python 会抛出它并初始化所有值,您可以使用它。只需导入它,这就是全部。

于 2013-04-05T17:16:36.047 回答