2017-12-12 24 views
0

私はPythonでクライアントを作成していますが、問題は、.txtファイルからipとport(スペースで区切って)を使用して.sendto(MSG、(データ))Python; readline()で.txt行をタプルに変換する

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 

./file.txtが含ま:

127.0.0.1 40000

127.0.0.1 55000

私はこれがある

のsendtoの仕事をするために正しく動作やタプルを作るために別のIPアドレスとポートへの順序で最初の読み出しラインを変換する方法を知ってsUDP.sendto(MSG、(DATA1))を希望私はコンパイルするコンソール:

トレースバック(最新の呼び出しの最後): ファイル "cliente.py"、ライン何でも、 でsUDP.sendto(MSG、(DATA1))#このエラー はTypeError:getsockaddrarg :AF_INETアドレスはタプルでなければなりません。

ありがとうあなたは私を助けるすべての人々のために!私はスペースと1を使用して2つの区切られた文字列を作ることができます)(私は.splitを使用していることを発見し :私はEDIT

すぐ仕上がりにこの仕事を得ました。私がやらなければならなかったのは、int(port)を使ってポートをintに変換して、タプルを作ることだけです!ところで、file.txtからタプルを作るより効率的な方法があります。ありがとう!

答えて

-2

タルプの使用は単に無駄です。 セットを辞書の中で使うだけです。

これは良いオプトだろう

だからリストや辞書

てみてください
関連する問題