我目前正在将一个项目(以前是一个大文件)重构为几个单独的 python 文件,每个文件都运行我的应用程序的特定部分。
例如,GUIthread.py
运行图形用户界面,Computethread.py
做一些数学等等。
每个线程都包含对导入模块中函数的使用,例如math
, time
, numpy
等等等等
我已经有一个文件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
(比如说),然后你可以创建一个文件importing_modules
(比如说)并将各种模块导入为from module_name import *
, 所以importing_modules.py
可能看起来像这样:
导入模块.py
from math import *
from numpy import *
from time import *
main.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().
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)