Python 在另一个文件中导入模块

标签 python python-2.7 global python-import python-module

我目前正在将一个项目(以前是大文件)重构为几个单独的 python 文件,每个文件都运行我的应用程序的特定部分。 例如,GUIthread.py 运行 GUI,Computethread.py 执行一些数学运算,等等。

每个线程都包括使用来自导入模块的函数,如 mathtimenumpy 等。

我已经有一个文件 globalClasses.py 包含我的数据类型等的类定义,每个 .py 文件在开始时导入,按照这里的建议:http://effbot.org/pyfaq/how-do-i-share-global-variables-across-modules.htm .这运作良好。

我想做的是将我所有的 3rdparty 模块导入到 globals 文件中,这样我就可以编写,例如,一次 import math 但是让我所有的项目文件都能够使用 math 函数。

问题:

<强>1。这可能吗?

<强>2。这是个好主意/是很好的 Python 实践吗?

我目前的解决方案就是放

import math 
import time
import numpy
...

(加上我正在使用的所有其他模块的导入)

在我项目中每个文件的顶部...但这看起来不是很整洁,而且在将代码块从一个文件移动到另一个文件时很容易忘记移动依赖项的导入语句...

最佳答案

是的,我想有一种更优雅的方法可以节省多余的代码行。假设你想导入一些模块 math, time, numpy(say),那么你可以创建一个文件 importing_modules(say) 并将各种模块导入为 from module_name import *,所以 importing_modules.py 可能看起来像这样:

importing_modules.py

from math import *
from numpy import *
from time import *

主.py

from importing_modules import *
#Now you can call the methods of that module directly
print sqrt(25) #Now we can call sqrt() directly in place of math.sqrt() or importing_modules.math.sqrt().

关于Python 在另一个文件中导入模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28794859/

相关文章:

javascript - 在没有特定目标的情况下触发JavaScript中的全局触摸/点击事件

Python/Pyspark - 计算 NULL、空和 NaN

python - BeautifulSoup : Remove Tags that only contain href

php - 从 mySQL 数组中的 php 函数返回变量

python - 由于 python-magic 无法找到 libmagic,Python 上的 Pushbullet 会引发导入错误?

Python代码查找点和曲线之间的最小距离

matlab - 使工作区中的matlab变量成为全局变量

Python类: TypeError: 'NoneType' object is not callable

python - dask 数据框中的 df.groupby(...).apply(...) 函数

python - 无法让 Theano 在 ubuntu 14.04 上工作