【发布时间】:2014-09-11 21:53:24
【问题描述】:
我目前正在尝试学习 Python,但可能仍然在做太多的步骤/太笨重的方式。
我在我的一个小程序中得到了以下代码行,我一直在想是否可以让它更有效率?
stdin, stdout, stderr = ssh.exec_command('echo -e "MAIN\nnotifications\nsmtp\nstatus$" | confd-client.plx -batch')
orglines = stdout.readlines()
smtpstatus = int(orglines[20])
if smtpstatus == 1:
do something
else:
do something else
标准输出的示例输出如下所示:
['Available modes: MAIN OBJS RAW WIZARD.\n', 'Type mode name to switch mode.\n', "Typing 'help' will always give some help.\n", 'device_info$\n', 'limiting$\n', 'overlay@\n', 'reboot_reason%\n', 'recipients@\n', 'sender$\n', 'smtp\n', 'authentication$\n', 'password$\n', 'port$\n', 'server$\n', 'status$\n', 'tls$\n', 'username$\n', '1\n']
基本上,我可以从这里的 stdout 输出中以更有效的方式填充变量 smtpstatus 吗?我不确定我必须将它转换为整数这一事实是否会使它变得更复杂一些?
“字段编号”可能会不时变化,对于这个特定的值,它是 20,正如您从上面的代码 sn-p 中看到的那样。
提前致谢,迈克
【问题讨论】:
标签: python parsing variables stdout readlines