2017-12-12 6 views
0

Ich mache einen Client in Python, kommt das Problem, wenn ich eine IP-Adresse und einen Port (getrennt durch ein Leerzeichen) aus einer TXT-Datei verwenden möchten, um es für zu verwenden .sendto (msg, (data))Python; Konvertieren von .txt Zeile mit readline() zu Tuple

import socket 
import sys 
import os 

sUDP = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) 

file = open("./file.txt") 
data1 = file.readline() 
msg = "hi" 

sUDP.sendto(msg, (data1)) #THE ERROR 

Die ./file.txt enthält:

127.0.0.1 40000

127.0.0.1 55000

Ich möchte sUDP.sendto (msg, (data1)) richtig oder wissen zu arbeiten, wie die erste Leseleitung, um separate IP und den Port zu konvertieren ein Tupel zu machen sendto Arbeit

Dies ist das zu machen Konsole, wenn ich will, kompilieren:

Traceback (jüngste Aufforderung zuletzt): File "cliente.py", line was auch immer, in sUDP.sendto (msg, (data1)) #The ERROR Typeerror: getsockaddrarg : AF_INET Adresse muss Tupel sein, nicht str

Vielen Dank du für all die Leute, die mir helfen! Ich muss bald

EDIT diese Arbeit beenden: Ich entdeckte, dass .split mit() ich zwei getrennte Strings eine mit einem Raum mit machen kann. Das einzige, was ich tun musste, ist, den Port mit int (Port) in int zu konvertieren und wir können das Tupel machen! Übrigens gibt es eine effizientere Möglichkeit, Tupel aus der Datei zu erstellen. Txt mir danke!

Antwort

-2

Verwendung von tulple nur Abfall. Verwenden Sie einfach Sätze in einem Wörterbuch.

Dies wird die gute opt

mit Liste und Wörterbücher Also einfach versuchen, seine