从模块导入*不导入我的功能

时间:2016-07-29 13:16:31

标签: python-2.7 python-import

我试图了解如何将代码从一个文件导入到另一个文件。我有两个文件file1.pyfile2.py。我在第一个文件中运行代码,并在第二个文件中定义了许多变量和函数。我正在使用from file2 import *将代码导入file1.py。我使用file2.py中的file1.py中定义的变量没有问题,但是当我尝试使用NameError: name 'myfunc' is not defined中的函数时,我得到的函数file1.py。我可以通过编写from file2 import myfunc来解决这个问题,但我认为编写*会导入该文件中的所有内容。函数与变量有什么区别?

1 个答案:

答案 0 :(得分:0)

我试图重新创建您描述的设置,但它对我来说还可以。希望这能让您了解如何使其发挥作用。

# file1.py #####################################
import sys
sys.path.append("/home/neko/test/")
import file2
if __name__ == "__main__":
    file2.testfunc()

# file2.py ######################################
testvar = 'hello'
def testfunc(): print testvar

对于此测试,我使用的是python版本2.6.6

file1.py和file2.py都在/ home / neko / test /

相关问题