2017-10-12 38 views
1

我必须使用python在F5框中进行批量更改,我有用于从python创建单个Virtual的syntex,但是我想要在大约300 +带有10列的.CSV。 300行。Python导入CSV到Python并在F5上创建mutilple VIP

  • 所以命令具有10数据
  • 创建F5框单VIP,然后再次相同功能命令 具有如果行是从第二行
  • 来获取数据来从第1行的数据空的,它必须停止,并给完成状态
  • 如果命令在任何一行失败,只是一些消息已经放置的 行结束,然后进入下一行

P ython命令用于创建单个VIP

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服务器2服务器2 172.61.64.2 80 TCP TCP

3服务器3服务器3 172.61.64.3 80 TCp TCp

4服务器4服务器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 
+0

谢谢,它工作正常。 –