I 2 Dateien haben: main.py und batsol.pyMeine Klasse ist am Anfang meines Codes aufrufbar, aber nicht während meiner Tests Schleifen
batsol.py eine Klasse enthalten und main.py schafft einige Instanzen aus der Klasse Batsol. Also werde ich Ihnen eine kurze Version meiner Code zeigen ...
class Batsol:
def __init__(self, addressCan = None, name = None) :
self.addressCan = addressCan
self.name = name
#other stuff ...
Dann ist mein main.py:
from batsol import Batsol
# other import and code ...
print(callable(Batsol))
bs1 = Batsol()
# code...
if len(listener.ring_buffer) == 0 :
for Batsol in tab_BS :
try:
print(tab_BS[Batsol])
except (IndexError):
pass
# code...
while(True) :
# for and if interlocked
print(callable(Batsol))
bs2 = Batsol()
Die Konsole zeigt:
True
False
Traceback (most recent call last):
File "./main.py", line 135, in <module>
bs2 = Batsol()
TypeError: 'int' object is not callable
den zweiten Teil der Traceback ist nicht mit anderen Sachen verbunden, die ich in meinem Code tue (Thread nicht ordnungsgemäß beendet ... so etwas), meiner Meinung nach
Exception ignored in: <module 'threading' from '/usr/lib/python3.4/threading.py'>
Traceback (most recent call last):
File "/usr/lib/python3.4/threading.py", line 1292, in _shutdown
t = _pickSomeNonDaemonThread()
File "/usr/lib/python3.4/threading.py", line 1300, in _pickSomeNonDaemonThread
if not t.daemon and t.is_alive():
TypeError: 'bool' object is not callable
WARUM ist mein Objekt in meinen Testschleifen nicht aufrufbar ??? Es macht mich verrückt ...
np Ich verstehe: P – Lamoule74
Sind Sie sicher, dass es keine 'Batsol = something' Zuordnung irgendwo in' #code ... 'oder' # für und wenn interlocked'? –
Der wahrscheinlichste Grund dafür, dass wir nicht sehen können, was in 'code ...' ist, ist, dass etwas darin dem Namen 'Batsol' ein' int'-Objekt zugewiesen hat. Du wirst denken: "Nun, natürlich würde ich das nicht tun", aber das können wir unmöglich wissen, und die eigene Meinung über den eigenen fehlerhaften Code ist immer suspekt. Ich kann nur vorschlagen, dass Sie das Problem auf eine http://sscce.org/ reduzieren. Wenn das Entfernen von 'code ...' aus Ihrem Code das Problem beseitigt, dann liegt es an etwas in 'code ...' und Sperrung Psychisches Debugging können wir dir nicht helfen weil wir den fehlerhaften Code nicht gesehen haben. –