Я пишу программу, которая подключается к разным хостам и проверяет время работы с многопоточностью, после чего она записывает информацию в Excel, но в Excel я нахожу только одну написанную строку, пожалуйста, помогите мне
class uptime( object ):
def __init__( self):
pass
#@calc FUNCTION TIMER
def connection( self, host):
cmd = 'uptime -p'
outlock = threading.Lock()
try:
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy( paramiko.AutoAddPolicy() )
ssh.connect(host, port=22, username='root', password='cosmogod', timeout=5 )
stdin, stdout, stderr = ssh.exec_command(cmd)
with outlock:
data = stdout.readlines()
for line in data:
print(host +'\t'+ line.strip('\n'))
except (socket.error, paramiko.AuthenticationException, paramiko.SSHException) as error:
print(host + '\t' + str(error))
ssh.close()
def exe(self, host, row = lambda row: row+1):
book = xlsxwriter.Workbook('Example2.xlsx')
sheet = book.add_worksheet('shhet one')
row = 0
column = 0
sheet.write(row,column,host) <<<---- This one only writes one row in shhet one sheet (not addinng +1 row)
#row = lambda row: row + 1
#row += 1
book.close()
if __name__ == '__main__':
c = uptime()
thread=[]
with open('all.txt', 'r') as data:
for line in data:
time.sleep(.1)
striped = line.strip('\n')
main = threading.Thread(target=c.exe, args=(striped,))
main.start()
thread.append(main)
for line in thread:
main.join()