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'值。但它没有打印它,因为打印语句在循环之外。我正在尝试将接收到的数据存储在全局变量中并在后面使用它。但我无法做到,因为“m”变量在外部不可见。感谢任何帮助。谢谢

4

1 回答 1

3

你的问题是你的循环永远不会结束 -while True永远都是真的,所以 print(m) 永远不会执行

于 2013-01-16T22:38:58.430 回答