如何在其他文件中包含外部Python代码?

2024-03-28 10:07:28 发布

您现在位置:Python中文网/ 问答频道 /正文

如果在一个文件中有一个方法集合,是否有方法将这些文件包含在另一个文件中,但调用它们时不带任何前缀(即文件前缀)?

如果我有:

[Math.py]
def Calculate ( num )

我怎么称呼它为:

[Tool.py]
using Math.py

for i in range ( 5 ) :
    Calculate ( i )

Tags: 文件方法inpyfordefrangemath
2条回答

只需编写“include”命令:

import os

def include(filename):
    if os.path.exists(filename): 
        execfile(filename)


include('myfile.py')

@德莱特:

@bfieck remark是正确的,对于python 2和3的兼容性,您需要:

Python2和3:备选方案1

from past.builtins import execfile

execfile('myfile.py')

Python2和3:备选方案2

exec(compile(open('myfile.py').read()))

您需要将另一个文件作为模块导入,如下所示:

import Math

如果不想在Calculate函数前面加上模块名,请执行以下操作:

from Math import Calculate

如果要导入模块的所有成员,请执行以下操作:

from Math import *

编辑:Here is a good chapter来自Dive Into Python,在这个主题上更深入一些。

如果您使用:

import Math

这样你就可以使用数学的函数,但是你必须做数学计算,所以这显然是你不想要的。

如果要导入模块的函数而不必在其前面加前缀,则必须显式命名它们,如:

from Math import Calculate, Add, Subtract

现在,您可以通过它们的名称引用Calculate、Add和Subtract。如果要从Math导入所有函数,请执行以下操作:

from Math import *

但是,在对其内容不确定的模块执行此操作时,应非常小心。如果导入的两个模块包含相同函数名的定义,则一个函数将覆盖另一个函数,而您则一窍不通。

相关问题 更多 >