2016-03-27 5 views
0

Ich versuche, einen IRC Zucken bietet zu machen, aber ich in ein Problem bin runnning wenn Buchse ImportPython nicht in der Lage Steckdose zu importieren

Jedes Mal, wenn ich das Programm laufen bekomme ich einen Fehler:

TypeError: 'module' object is not callable

Hier die Rückverfolgung ist:

Traceback (most recent call last): 
    File "C:\VERYLONGPATH\ChatBot\run.py", line 6, in <module> 
    s = openSocket() 
    File "C:\VERYLONGPATH\ChatBot\socket.py", line 5, in openSocket 
    s = socket.socket() 

Und hier ist der eigentliche python-Code:

run.py

from socket import openSocket 
from initialize import joinRoom 

s = openSocket() 
joinRoom(s) 

while True: 
    presist = True 

socket.py

import socket 
from settings import HOST, PORT, PASS, ID, CHANNEL 

def openSocket(): 
    s = socket.socket() 
    s.connect((HOST, PORT)) 
    s.send("PASS " + PASS + "\r\n") 
    s.send("NICK " + ID + "\r\n") 
    s.send("JOIN #" + CHANNEL + "\r\n") 
    return s 

Ich bin nicht sicher, was diesen Fehler verursachen könnte, wie ich bin Buchse importieren.

+0

Eine Sache, Ich mag würde darauf hinweisen, dass Sie haben nicht angegeben, welche Art von Verbindung es wäre SOCK_STREAM, AF_INET – Jonathan

Antwort

0

socket.py hat den gleichen Namen wie ein anderes Modul, socket, so Python ist verwirrt, was socket Sie meinen, wenn Sie tun from socket import openSocket; Es entscheidet, das Modul statt Ihrer Datei zu importieren. Python löst dann diesen Fehler aus, da das Modul socket keine openSocket-Funktion hat.

Um dies zu beheben, den Namen Ihrer socket.py Datei, um etwas anderes zu ändern, zum Beispiel mysocket.py und dann in run.py diesen Code entsprechend ändern wie:

from mysocket import openSocket 
... 
+0

Danke für die Hilfe –

Verwandte Themen