如果文件中有方法集合,是否有办法将这些文件包含在另一个文件中,但是调用它们时没有任何前缀(即文件前缀)?
所以,如果我有:
[Math.py] def Calculate ( num )
我怎么称它为:
[Tool.py] using Math.py for i in range ( 5 ) : Calculate ( i )
Andrew Hare.. 150
您需要将其他文件作为模块导入,如下所示:
import Math
如果您不想在Calculate
函数前添加模块名称,请执行以下操作:
from Math import Calculate
如果要导入模块的所有成员,请执行以下操作:
from Math import *
编辑: 这是Dive Into Python的一个很好的章节,在这个主题上更深入一些.
您需要将其他文件作为模块导入,如下所示:
import Math
如果您不想在Calculate
函数前添加模块名称,请执行以下操作:
from Math import Calculate
如果要导入模块的所有成员,请执行以下操作:
from Math import *
编辑: 这是Dive Into Python的一个很好的章节,在这个主题上更深入一些.
只需编写"include"命令:
import os def include(filename): if os.path.exists(filename): execfile(filename) include('myfile.py')
@Deleet:
@bfieck评论是正确的,对于python 2和3的兼容性,你需要:
Python 2和3:替代方案1
from past.builtins import execfile execfile('myfile.py')
Python 2和3:替代方案2
exec(compile(open('myfile.py').read()))
如果您使用:
import Math
然后,这将允许您使用Math的函数,但您必须执行Math.Calculate,因此这显然是您不想要的.
如果要导入模块的函数而不必为它们添加前缀,则必须明确命名它们,如:
from Math import Calculate, Add, Subtract
现在,您可以仅通过名称来引用Calculate,Add和Subtract.如果要从Math导入所有函数,请执行以下操作:
from Math import *
但是,在使用您不确定的内容的模块时,您应该非常小心.如果导入两个包含相同函数名称定义的模块,则一个函数将覆盖另一个函数,而不是更聪明的函数.