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'变量在外面是不可见的。任何帮助都表示赞赏。 谢谢
答案 0 :(得分:3)
你的问题是你的循环永远不会结束 - while True
永远是真的,所以print(m)永远不会被执行