全局变量未定义

时间:2013-01-16 22:36:34

标签: python

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'变量在外面是不可见的。任何帮助都表示赞赏。 谢谢

1 个答案:

答案 0 :(得分:3)

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