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