我正在使用像这样响应的网络服务....
error code|text|reference
0|sms submitted|11010d3b0d6872af47b938aebb450d06-3
目前我检查status_msg starts
是否error
if status_msg.startswith('error'):
这是一种不好的方式。
如何从Python中的响应中获取实际的error code
,在此示例中为0
我试过这个go to second line, get first number
:
if status_msg.startswith('error') and not status_msg.splitlines()[2][1:] == 0:
答案 0 :(得分:3)
您可以将其转换为字典:
>>> s = '''error code|text|reference
0|sms submitted|11010d3b0d6872af47b938aebb450d06-3'''
>>> d = dict(zip(*(line.split('|') for line in s.splitlines())))
>>> d
{'text': 'sms submitted',
'reference': '11010d3b0d6872af47b938aebb450d06-3',
'error code': '0'}
答案 1 :(得分:1)
关闭...试试这个:
(msg, reference) = status_msg.splitlines()[1][1:]
# ^ This index should be 1, not 2.
Python中迭代的索引是从零开始的,而不是基于一的。该表达式的结果应该是一个包含“sms”消息和代码的双元素列表。