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!