我有以下问题。在我的项目中,我有以下文件:
在主.py公司名称:
import general_functions
...
def main(argv):
make() # line 98
bake()
if __name__ == "__main__":
sys.exit(main(sys.argv[1:])) # line 120
总则_函数.py公司名称:
^{pr2}$tcs系统_主.py公司名称:
import general_functions
...
class baking(object):
def __init__(self, ...):
muffin = 'chocolate muffin'
make(muffin)
bake(200)
当我运行这个/主.py在
我得到:
Traceback (most recent call last):
File "./main.py", line xxx, in <module>
sys.exit(main(sys.argv[1:]))
File "./main.py", line 98, in main
make(muffin)
NameError: global name 'make' is not defined
问题是总的来说_函数.py我想有一些可以在主.py但在tcs中也是如此_主.py. 在
我做错什么了?在
如何在python中导入导入导入?我读到,如果导入的内容不需要再次导入(在python中),这是否意味着我可以在主.py它也可以用于其他项目文件??在
谢谢你的建议
您只导入模块,而不是其内容。这很好,但是您必须在^{{cd3>}模块中将^{cd1>}引用为^{cd2>}。
您正在导入
general_functions
模块,但此时,main.py
不知道它的内容(或者更确切地说,不会将其内容加载到main
模块中)。你可以:from general_functions import make, bake
或者(在我看来,更好的做法):
您可以查看这个很棒的线程:How does Python importing exactly work?关于
import
在Python中的工作方式,另一个线程:Local import statements in Python关于导入范围。在相关问题 更多 >
编程相关推荐