/projects/mymath$ ls
__init__.py __init__.pyc mymath.py mymath.pyc tests
和目錄tests
下我有如何導入我的模塊?
/projects/mymath/tests/features$ ls
steps.py steps.pyc zero.feature
我試圖導入我的階乘函數
sys.path.insert(0,"../../")
#import mymath
from mymath.MyMath import factorial
但它表示無模塊命名MYMATH。
這是我的假人MyMath
class。
class MyMath(object):
def factorial(self, number):
if n <= 1:
return 1
else:
return n * factorial(n-1)
那麼,怎麼了?謝謝。這是連一個很好的做法(編輯SYS路徑?)
這將工作import mymath
您不能從'MyMath'中導入'factorial',因爲'MyMath'是它自己的*類*。你可以從'mymath'作爲模塊名稱'導入'*頂級*對象。所以你可以通過mymath import MyMath來完成,就是這樣。如果你想導入階乘,然後把它帶出*類,然後你可以從'mymath import factorial'(如果你把它放在'mymath.py'中)。 – 2012-02-29 23:41:40
部分重複: http:// stackoverflow。COM /問題/ 9011545 /蟒蛇,相對進口中之 - 封裝 - 不 - 上的路徑 – 2012-02-29 23:42:26