我试图找出为什么我会看到这个。这是代码片段:
def check_status(addr,port=80):
import urllib2
if not addr.startswith('http://'): addr = "http://" + addr
req = urllib2.Request(addr+":"+str(port))
try:
res = urllib2.urlopen(req,None,10)
sts = str(res.code)
except urllib2.URLError, er:
sts = er.args
print "Print-1\t: %s" % sts
print "Print-2\t:", sts
print "{0}\t: {1}".format('Print-3',sts)
return sts
url = "google.comm"
sts = check_status(url)
print "Print-4\t: %s %s" % (url, sts)
运行脚本,我在打印语句上得到了有趣的结果:
Print-1 : [Errno 8] nodename nor servname provided, or not known
Print-2 : (gaierror(8, 'nodename nor servname provided, or not known'),)
Print-3 : (gaierror(8, 'nodename nor servname provided, or not known'),)
Print-4 : google.comm (gaierror(8, 'nodename nor servname provided, or not known'),)
谁能解释一下为什么sts
print-2、3 和 4 的打印方式不同?它仅使用单个格式字符串以正确的格式打印。%s
我认为这与urllib2没有任何关系。我在这里想念什么?谢谢!