2017-10-12 40 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

謝謝,它工作正常。 –