2016-09-25 41 views
-3

-Code gibt den folgenden Fehler:Python 'Objekt hat kein Attribut'

" 'Modul' Objekt hat kein Attribut 'checkNone'"

Dir Setup:

+main.py 
    Sorcery 
    +Check.py 

main.py

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

Was ist der Fehler? – Li357

+1

Sie haben ein Modul namens 'Check', das eine Klasse enthält, die auch' Check' genannt wird. Ihr Code versucht, 'checkNone' aus dem Modul aufzurufen, aber nur die Klasse hat eine solche Funktion. Abhängig vom Rest Ihres Codes, ist möglicherweise die korrekte Lösung, die Zeile 'class Check zu entfernen:' –

+0

Benennen Sie 'Check.py' in' check.py' um und '' check import Check' – Li357

Antwort

1

Benennen Sie zunächst die Check.py in beliebiges beliebiges Format um, z. B. jacs.py. Innerhalb jacs.py, ändern Sie Class Check: def checkNone(content): zu Class Check(object): def checkNone(self, content):.
Dann in main.py, beginnen mit

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

Außerdem müssen Sie leer '__init __ hinzuzufügen. Py' im Verzeichnis' main.py' und in 'Sorcery' sie [Pakete] (https://docs.python.org/2/tutorial/modules zu machen. html), siehe Teil 6.4. – mengg

+0

Das funktioniert! Große Antwort, danke! – Jacs

Verwandte Themen