2016-09-25 6 views
-3

コードは次のエラーを与えない:Pythonのオブジェクトには、属性ました "

+main.py 
    Sorcery 
    +Check.py 

main.py

ディレクトリの設定 " 'モジュール' オブジェクトには属性 'checkNone' を持っていません"

from Sorcery import Check 
check = Check.checkNone(None); 

Check.py

class Check: 
    def checkNone(content): 
     if content == None: 
      print("None!") 
     else: 
      print("Check!") 
      return content 
+0

で始まりますか? – Li357

+1

'Check'と呼ばれるクラスを含む' Check'というモジュールがあります。あなたのコードはモジュールから 'checkNone'を呼び出そうとしますが、そのクラスだけがそのような機能を持っています。コードの残りの部分によっては、おそらく正しい修正は 'class Check:'行を削除することです。 –

+0

'Check.py'を' check.py'に名前を変更し、 'check import check'から' – Li357

答えて

1

まず、​​の名前を好きな名前に変更します(例:jacs.py)。 jacs.pyの内部でClass Check: def checkNone(content):Class Check(object): def checkNone(self, content):に変更します。
その後、main.pyで、エラーは何

from Sorcery.jacs import Check 
output = Check.checkNone(None) 
+0

また、 'main.py'のディレクトリと' Sorcery'のディレクトリに空の '__init __。py'を追加して、それらを[packages](https://docs.python.org/2/tutorial/modules)にする必要があります。 html)、パート6.4を参照してください。 – mengg

+0

これは機能します!素晴らしい答え、ありがとう! – Jacs

関連する問題