【发布时间】:2013-03-11 14:28:22
【问题描述】:
我有一段这样的代码:
for line in response.body.split("\n"):
if line != "":
opg = int(line.split(" ")[2])
opc = int(line.split(" ")[3])
status = int(line.split(" ")[5])
if command == 'IDENTIFY':
if opg==opcodegroupr and opc==opcoder:
if status=="0":
IEEEAddrRemoteDev = line.split(" ")[6:14]
ret['success'] = "IDENTIFY: The value is %s " % (IEEEAddrRemoteDev)
self.write(tornado.escape.json_encode(ret))
self.finish()
变量'line'例如是这样的:
1363011361 2459546910990453036 157 0 17 0 209 61 0 0 0 0 0 0 0 0 0 0 0 0 0 201
例如,我将获取 6 到 14 的字段并相互“合并”以像整个字符串一样打印 IEEEAddrRemoteDev。
这是吗
IEEEAddrRemoteDev = line.split(" ")[6:14]
正确的方法?如果我写
print IEEEAddrRemoteDev
我什么都没得到。
出了点问题……
【问题讨论】:
-
我不知道为什么你什么都没有,但是加入字符串是这样的:
"".join(line.split(" ")[6:14]) -
你永远不会得到任何输出的原因是
if status=="0":永远不会是真的,因为你将它转换为int。看我的回答