Python脚本向lis发送ubuntu终端命令

2024-03-29 08:59:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Ubuntu中有一个命令:

bgpq3 -4 AS-YAHOO-JP-2 -m 24 -l Google

输出是一个前缀列表:

ip prefix-list Google permit 14.137.224.0/19

ip prefix-list Google permit 27.111.76.0/22

ip prefix-list Google permit 27.121.128.0/17

ip prefix-list Google permit 27.133.224.0/22

ip prefix-list Google permit 27.133.240.0/22

ip prefix-list Google permit 27.133.240.0/24

ip prefix-list Google permit 27.133.241.0/24

ip prefix-list Google permit 27.133.242.0/24

ip prefix-list Google permit 27.133.243.0/24

如何将输出放入列表并使用每一行(例如将它们发送到数据库)我不想先将它们保存到file.txt中

我正在使用这个命令,但是没有帮助,因为结果存储在一个文本文件中

os.system("bgpq3 -4 AS-YAHOO-JP-2 -m 24 -l Google > list.txt")

请帮我弄清楚


Tags: 命令iptxt数据库列表prefixubuntuas
1条回答
网友
1楼 · 发布于 2024-03-29 08:59:45

我想,你可以使用子流程模块。此模块取代了一些旧的模块和功能。这里有正式文件:https://docs.python.org/3/library/subprocess.html#module-subprocess

import subprocess
res = subprocess.Popen('bgpq3 -4 AS-YAHOO-JP-2 -m 24 -l Google', shell=True,
                       universal_newlines=True,
                       stdout=subprocess.PIPE).communicate()[0]

for line in res.split('\n'):
    print(line)

相关问题 更多 >