2016-07-29 107 views
0

我想了解如何從一個文件導入代碼到另一個。我有兩個文件file1.py和​​。我在第一個文件中運行代碼,並在第二個文件中定義了許多變量和函數。我正在使用from file2 import *將代碼導入file1.py。我使用中定義的變量在file1.py中沒有問題,但當我嘗試使用file1.py中的函數時,獲取的函數是NameError: name 'myfunc' is not defined。我可以通過編寫from file2 import myfunc來解決這個問題,但我認爲編寫*會導入該文件中的所有內容。函數與變量有什麼區別?從模塊導入*是不是導入我的功能

+0

看看這裏:HTTP:/ /stackoverflow.com/questions/19883870/python-from-x-import-not-importing-everything – Babyburger

回答

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 /ネ/測試/