Форум сайта python.su
0
Привет,
Надеюсь на вашу помощь, собираю скрипт для простой задачи - reboot через api для определенных майнеров. То есть, имеется список ip майнеров которые необходимо перезагрузить (допустим 20), через API
нашел похожее решение на GitHub как заставить его читать список ip из txt или csv?
from dragon_rest.dragons import DragonAPI dragon_host = '10.01.01.01' api = DragonAPI(dragon_host, username='admin', password='dragonadmin') r = api.reboot() #reboot print(r) api.reboot
f = open(r'test.csv') lines = f.readlines() f.close()
Отредактировано scorcher (Окт. 27, 2018 19:13:00)
Офлайн
294
scorcherда чтто типа такого,
нужно что то типа такого? и как их связать чтоб он брал один ip из файла - ребутил и брал следующий и так до конца списка?
from dragon_rest.dragons import DragonAPI def reboot_host(address, login, password): api = DragonAPI(address, username=login, password=password) r = api.reboot() print(r) with open(r'test.csv', 'r') as f: for line in f.readlines(): address, login, password = line.split(',') '''вобщем тут нужно получить ИП, логин и пароль. как они у вас храняться ХЗ. Исхожу из того что в виде "XXX.XXX.XXX.XXX,admin_login,admin_password" Но вобщем поправте где нужно, может нужно будет пробелы гдето поубирать или еще что. ''' reboot_host(address, login, password)
[code python][/code]
Офлайн
0
спасибо,
хранятся в txt или csv такого типа:
10.01.01.01
10.01.01.00
10.01.01.02
10.01.01.03
в csv один ip - одна ячейка/строка.
login и password везде одинаковый по дефолту admin и dragonadmin так что этот параметр постоянный
Отредактировано scorcher (Окт. 27, 2018 21:55:31)
Офлайн
294
scorcherтем более еще проще, вместо address в reboot_host подставляете line, а login и password задавайте константами.
login и password везде одинаковый по дефолту admin и dragonadmin так что этот параметр постоянный
[code python][/code]
Офлайн
0
собрал вот так и все равно не работает, перегружает только первый ip
from dragon_rest.dragons import DragonAPI dragon_host = 'list' api = DragonAPI(dragon_host, username='admin', password='dragonadmin') r = api.reboot() #reboot print(r) api.reboot with open("test.txt") as file: array = list(open('test.txt'))
Отредактировано scorcher (Окт. 28, 2018 12:12:35)
Прикреплённый файлы:
test.txt (23 байта)
Офлайн
61
так а что вы собрали?
Вам же выше указали что надо открыть файл.
В нем циклом пройтись по айпишникам и для каждого из них выполнить
api = DragonAPI(dragon_host,
username='admin',
password='dragonadmin')
вы же выбросили все циклы и вернулись к изначальному.
Начните с того что оставьте пока перезагрузку и распечатайте айпишники из файла по одному.
Когда что получится просто подставите что в свой АПИ.
Отредактировано ZerG (Окт. 28, 2018 12:32:33)
Офлайн
0
добил 
from dragon_rest.dragons import DragonAPI def reboot_host(line): api = DragonAPI(line, username='admin', password='dragonadmin') r = api.reboot() print(r) api.reboot with open('test.txt', 'r') as f: for line in f.readlines(): line = line.rstrip() reboot_host(line)
Офлайн
61
Запускать несколько потоков например.
Офлайн