Append заменяет все элементы списка на последний
Есть такой блок кода
item_list = []
for ip in ip_list:
# result = checkavailability(ip)
item_list.append(checkavailability(ip))
При каждом цикле все элементы списка заменяются на последний
Помогите разобраться, что я сделал не так
Код
import time
import re
import socket
import json
class router:
ip = None
availability = None
def readFileToList(path):
iplist = open(path, 'r', encoding='utf-8').read()
# iplist = re.findall('(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})', iplist)
return iplist
def checkavailability(ip):
router.ip = ip
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout
try:
sockAnswer = sock.connect_ex((ip, 22))
if sockAnswer ==0:
router.availability=True
else:
router.availability=False
except:
router.availability=False
print(router.ip, 'Device not found')
return router
ip_list = readFileToList('ip.txt')
ip_list = re.findall('(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})', ip_list)
print(ip_list)
cmd_list = readFileToList('cmd.txt').splitlines()
item_list = []
for ip in ip_list:
# result = checkavailability(ip)
item_list.append(checkavailability(ip))
Источник: Stack Overflow на русском