0
import socket
import sys
import urllib


port = 6669
mac = "e448c7a96170"

try:
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    ip = socket.gethostbyname( mac  + '.rtn.iptv.svt.sciatl.com')
    sock.connect((ip, port))
    print(ip)
    sock.send("getdom;ipg")
    print "Message Sent"
    while True:
        global m;
        m=sock.recv(10000)
    print(m)
    sock.close()
except:
    print sys.exc_info()

こんにちは皆さん私はPythonを初めて使用します。「m」値を出力しようとしていますが、printステートメントがループの外側にあるため、出力されません。受信したデータをグローバル変数に格納して後の部分で使用しようとしていますが、「m」変数が外部に表示されないため、使用できません。ご協力いただければ幸いです。ありがとうございました

4

1 に答える 1

3

あなたの問題はあなたのループが決して終わらないということです-while True永遠に真になるでしょう、それでprint(m)は決して実行されません

于 2013-01-16T22:38:58.430 に答える