Heim >Backend-Entwicklung >Python-Tutorial >Warum gibt mein Python-Code beim Erstellen eines Sockets einen „TypeError: \'module\' object is not callable\' aus?
TypeError: 'module' Object Not Callable
Der Fehler „TypeError: 'module' object is not callable“ tritt auf, wenn Ihr Code versucht um ein Modulobjekt aufzurufen, als wäre es eine Funktion. Im gegebenen Szenario entsteht der Fehler durch die falsche Verwendung des Socket-Moduls.
Verstehen des Problems
Socket, mit einem kleinen „s“, ist ein Modul in Python, das Netzwerkfunktionen bereitstellt. Ihr Code versucht jedoch, mithilfe von self.serv = socket(AF_INET,SOCK_STREAM) einen Socket zu erstellen. Das Problem besteht darin, dass self.serv auf den Modulobjekt-Socket verweist, der nicht aufrufbar ist. Um einen Socket zu erstellen, müssen Sie die Socket-Klasse aus dem Socket-Modul importieren.
Fehler beheben
Um den Fehler zu beheben, haben Sie zwei Möglichkeiten:
Socket-Klasse direkt verwenden: Importieren Sie die Socket-Klasse als folgt:
import socket self.serv = socket.socket(AF_INET, SOCK_STREAM)
Verwenden Sie die from-Anweisung: Importieren Sie die Socket-Klasse direkt mithilfe der from-Anweisung:
from socket import socket self.serv = socket(AF_INET, SOCK_STREAM)
Erklärung
Das Socket-Modul enthält eine Klasse namens socket, die definiert Funktionalität zum Erstellen von Netzwerk-Sockets. Durch das Importieren oder direkte Referenzieren dieser Klasse kann Ihr Code nach Bedarf Socket-Objekte erstellen und bearbeiten.
Das obige ist der detaillierte Inhalt vonWarum gibt mein Python-Code beim Erstellen eines Sockets einen „TypeError: \'module\' object is not callable\' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!