我必须使用python在F5框中进行批量更改,我有用于从python创建单个Virtual的syntex,但我希望在300 +左右进行,其中输入在.CSV中有10 +列。 300行。
用于创建单个VIP的Python命令
myvirtual = bigip.ltm.virtuals.virtual.create(name=["name"],
description=["description"],
destination="%s:%s" % (["ip"], ["port"]),
ipProtocol=["ipProtocol"], [pool][1]=["pool"])
CSV格式
Row name description destination IP destination Port ipProtocol pool
1服务器1服务器1 172.61.64.1 80 TCp TCp
2 Server 2 Server 2 172.61.64.2 80 TCp TCp
3 Server 3 Server 3 172.61.64.3 80 TCp TCp
4 Server 4 Server 4 172.61.64.4 80 TCp TCp
因此,我的命令必须从CSV文件创建4个虚拟服务器,每个服务器一行 我正在使用python 3并导入CSV
请任何一个帮助,我是python的新手
答案 0 :(得分:0)
您可以使用Python的CSV模块循环访问您的文件(不确定“bigip”模块的语法,但您可以从控制台上的错误进行调试,如果有的话)。 将每一行(“vs”)作为字典读取将允许您通过列名引用每个字段:
import csv
with open('path-to-your-file.csv', 'rb') as f:
for vs in csv.DictReader(f):
try:
bigip.ltm.virtuals.virtual.create(
name=vs['name'],
description=vs['description'],
destination="%s:%s" % (vs['destination IP'], vs['destination Port']),
ipProtocol=vs['ipProtocol'],
pool=vs['pool']
)
except Exception as e:
print e