Доменное имя для ('10.62.39.1', ‘10.62.39.2’, ‘10.62.39.3’, ‘10.62.39.4’, ‘10.62.39.5’) как ('WS0620390605', ‘WS0620391315’, ‘WS06939354’, ‘WS0650351315’, ‘WS0625481595’)
WS………… - это доменные имена компьютеров, которые должны браться с помощью gethostbyaddr
Ошибка:
hostname = socket.gethostbyaddr(tuple(iplist)) ^^^^^^^^^^^^^^^^^^^^^^ TypeError: gethostbyaddr() argument 1 must be str, bytes or bytearray, not tuple
import socket from PyQt6 import QtCore, QtGui, QtWidgets import ipaddress # проверка на валидацию IP адресов def ip_checkv4(self): ip1 = "10.62.39.1" ip2 = "10.62.39.5" if(ip1 == "" and ip2 == ""): print("Начальный и конечный IP-адреса должны быть введены.") elif(ipaddress.ip_address(ip1) and ipaddress.ip_address(ip2)): ipaddress1 = ip1.split(".") # ['10', '62', '39', '1'] ipaddress2 = ip2.split(".") #['10', '62', '39', '5'] if(ipaddress1[:3] == ipaddress2[:3]): # проверка на совпадение первых трех октетов ['10', '62', '39']['10', '62', '39'] if(ipaddress1[3] < ipaddress2[3]): # если четвертый октет меньше, то выводим диапазон # hostname = socket.gethostbyaddr(ip1)[0] iplist = [] ipcur = ipaddress.ip_address(ip1) while ipcur <= ipaddress.ip_address(ip2): iplist.append(str(ipcur)) ipcur += 1 hostname = socket.gethostbyaddr(ipcur) print(f"Доменное имя для {iplist} как {hostname}") else: print("Четвертый октет первого IP адреса должен быть меньше четвертого октета второго IP адреса.") else: print("Первые три октета IP-адресов не совпадают.") else: print("Некорректно введены IP адреса.")