【发布时间】:2019-03-04 02:42:14
【问题描述】:
我有以下代码可以重新遍历 IP 地址列表以查找 SNMP 字符串:
输入:
import os
import subprocess
ip_list = ['10.10.10.10','10.10.10.11']
snmp = "snmpget -v1 -c public "
for x in ip_list:
command = os.system(str(snmp + x))
输出: ... = 字符串:“2017 年 11 月 15 日”
此代码运行良好,但我需要将 os.system 替换为 subprocess.call,因为 os.system 非常有限,不能存储在变量中。
我试图插入 subprocess.call 但我不断收到错误:
results = subprocess.call(os.system(str(snmp + r + static_oid + z)), shell=True)
TypeError: 'int' object is not iterable
任何帮助将不胜感激,谢谢!
【问题讨论】:
-
你能显示你使用的子流程代码吗?还显示变量的值/类型。自动取款机是无法回答的。
-
哎呀,对不起。更新了变量示例
标签: python subprocess os.system