我的基本要求是将数据馈送到一个API,该API在一个数据库上创建和删除用户系统API有自己的格式,它将采用数据API有两个步骤:
输入数据格式如下:
Device1 192.168.1.2 NEW:jason:OPERATOR NEW:kylie:ADMINISTRATOR DELETE:ron:OPERATOR
Device2 10.12.34.12 NEW:kim:OPERATOR DELETE:joe:USER_ROLE_GUEST
Device3 12.3.21.45
Device4 8.21.34.25 DELETE:alex:USER_ROLE_GUEST
API格式如下(第一行数据的示例):
b = bigsuds.BIGIP(hostname = '192.168.1.2', username = 'admin', password = 'letmein')
b.Mgmt.UserMgmt.create_user([{'user': {'name': 'jason'},
'password': {'password': 'letmein'},
'permissions': [{'role': 'USER_ROLE_GUEST'}],
'login_shell': '/sbin/nologin'},
{'user': {'name': 'kylie'},
'password': {'password': 'letmein'},
'permissions': [{'role': 'ADMINISTRATOR'}],
'login_shell': '/sbin/bash'}])
b.Mgmt.UserMgmt.delete_user(['ron'])
密码总是固定的价值观登录shell值由以下字典决定:
find_shell = {'USER_ROLE_GUEST':'/sbin/nologin', 'OPERATOR':'/var/tmp', 'ADMINISTRATOR':'/sbin/bash'}
我想要的是循环遍历文件的每一行,连接到IP地址,执行添加或删除,或者完全跳过IP(如果没有要添加或删除的用户)。这最好由我使用readlines()完成,将其拆分为列,然后使用列索引执行必要的操作操作。但是,这里的列长度不是固定。分开前两列总是固定的,从示例数据可以明显看出,其余的列总是固定的变化。什么最理想的方法是什么?你知道吗
可能是这样的:
如果前两列是固定的,那么列[2:]将包含您应该执行的命令。只要确保你过滤的情况下,你只有2列。你知道吗
你不需要专门的字典来把行分成列。你知道吗
相关问题 更多 >
编程相关推荐