Python3调用API打印服务器资产信息的脚本实现
本文介绍如何使用Python3编写脚本,通过调用资产信息接口获取JSON数据,并利用prettytable库将主机名和外网IP等信息格式化为表格打印输出。脚本支持通过命令行参数指定查询名称,适用于服务器运维场景下的资产信息查询。
Python3调用API打印服务器资产信息的脚本实现
在服务器环境中,使用Python3脚本打印资产信息
pip3 install prettytable
假设url变量指向资产信息接口的地址,该接口返回的数据格式为JSON。
# encoding=utf-8
import getopt
import sys
import prettytable as pt
import requests
import json
def main(argv):
try:
options, args = getopt.getopt(argv, "n:", ["name=", ])
except getopt.GetoptError:
sys.exit()
for option, value in options:
if option in ("-n", "--name"):
url = 'http://xxxxxxxx/list'
try:
headers = {'Content-Type': 'application/json'}
r = requests.post(url, data=json.dumps({"name": value}), headers=headers)
if r.status_code == 200:
data = r.json()
tb = pt.PrettyTable()
tb.field_names = ["主机名", "外网IP"]
tb.align["主机名"] = "l"
tb.align["外网IP"] = "l"
for i in data:
tb.add_row([i["_id"], i["out_ip"]])
print(tb)
else:
print("获取信息错误")
except Exception as e:
print(e)
if __name__ == '__main__':
main(sys.argv[1:])
执行结果展示
执行命令示例:/usr/bin/python3.6 test.py -n test

以上内容为本文的全部介绍,希望能为读者的学习提供协助,同时也感谢大家的支持。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













