python写一个脚本:逐行查找txt文件,提取所有的Name和OID值,保存到新的txt内
时间: 2023-03-14 10:09:48 浏览: 285
使用Python来完成上述任务可以这样做:1. 首先,用Python的open函数打开txt文件。2. 然后,使用for循环遍历每一行文本,查找要提取的Name和OID值。3. 最后,使用Python的write函数将提取到的Name和OID值保存到新的txt文件中。
相关问题
使用Python写一个脚本,并展示示例代码。1. 首先,用Python的open函数打开txt文件。2. 然后,使用for循环遍历每一行文本,查找要提取的Name和OID值。3. 最后,使用Python的write函数将提取到的Name和OID值保存到新的txt文件中。
使用Python编写脚本的示例代码如下: # open txt file
with open('filename.txt', 'r') as f:
# for each line
for line in f:
# extract the name and oid value
name = line.split(',')[0]
oid = line.split(',')[1]
# write the name and oid value to a new txt file
with open('new_filename.txt', 'a+') as output:
output.write(name + ',' + oid + '\n')
python写一个利用MIB OID节点读取设备cpu利用率的脚本
### 回答1:
要使用 Python 写一个读取设备 CPU 利用率的脚本,需要使用到 SNMP 协议。SNMP 协议使用 MIB OID(管理信息库对象标识符)来描述网络管理对象。
以下是一个示例代码,使用了 pysnmp 库:
```
from pysnmp.entity.rfc3413.oneliner import cmdgen
def get_cpu_utilization(ip_address, community_string):
cmd_generator = cmdgen.CommandGenerator()
error_indication, error_status, error_index, var_binds = cmd_generator.getCmd(
cmdgen.CommunityData(community_string),
cmdgen.UdpTransportTarget((ip_address, 161)),
(1, 3, 6, 1, 4, 1, 2021, 11, 50)
)
if error_indication:
return error_indication
return var_binds[0][1] / 100.0
ip_address = "192.168.0.1"
community_string = "public"
print("CPU utilization: {}%".format(get_cpu_utilization(ip_address, community_string)))
```
上面代码中,`(1, 3, 6, 1, 4, 1, 2021, 11, 50)` 即为 MIB OID 节点,表示 CPU 利用率。使用 `getCmd` 方法发送 SNMP 请求,从而读取 CPU 利用率的信息。
注意:上面代码仅作为示例,可能需要根据实际情况进行调整。
### 回答2:
Python可以使用SNMP协议来读取设备的MIB OID节点,并获取设备的CPU利用率。下面是一个简单的脚本示例,可以实现这个功能:
```python
import subprocess
import re
def get_cpu_utilization(ip, oid):
snmp_output = subprocess.getoutput(f"snmpwalk -v 2c -c public {ip} {oid}")
cpu_utilization = re.findall(r"STRING: \d+\.+", snmp_output)
if cpu_utilization:
return cpu_utilization[0].split(": ")[1]
else:
return "Failed to retrieve CPU utilization"
if __name__ == "__main__":
ip_address = "设备IP地址"
oid = "设备的CPU利用率MIB OID节点"
cpu_utilization = get_cpu_utilization(ip_address, oid)
print(f"CPU利用率: {cpu_utilization}%")
```
上述脚本中使用了`subprocess`模块来执行`snmpwalk`命令,通过传递设备的IP地址和MIB OID节点作为参数执行SNMP查询。然后,使用正则表达式提取CPU利用率信息,并将结果打印出来。
注意,该脚本需要依赖于SNMP工具包,因此需要在运行之前先在机器上安装SNMP工具包。
阅读全文