cuốn sách gpt4 ai đã làm

python - 将 IP 列表与另一个 IP 列表或 IP 范围进行比较

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 16:02:39 26 4
mua khóa gpt4 Nike

Tôi đã tạo một dự án python quét một dải IP (tức là xyz0/24) và trả về danh sách các máy chủ trực tuyến. Nó lưu danh sách các máy chủ trực tuyến vào một tệp chỉ chứa IP (tức là ['192.168.0.1', '192.168.0.2', '192.168.0.8', ...]. Tôi gặp sự cố với bước tiếp theo. Tôi Tôi muốn so sánh danh sách máy chủ trực tuyến này với dải IP để xác minh xem đây có phải là những máy tính loại bỏ các thiết bị khác không. Tôi có DHCP cho các máy tính mà tôi sử dụng hay không. Danh sách kiên trì Có cách nào dễ dàng để thực hiện việc này và cập nhật danh sách onHosts không?

câu trả lời hay nhất

Đây là một giải pháp được đề xuất mà bạn có thể thử (nó hơi cồng kềnh nhưng tôi hy vọng sẽ chỉnh sửa nó sau)

def get_range(str_num):
""" Chuyển đổi biểu diễn chuỗi của số hoặc phạm vi thành bộ (tối thiểu, tối đa) """
thử:
num = int(str_num)
trả về số, số
ngoại trừ ValueError:
min_, max_ = str_num.split('-')
trả về int(min_), int(max_)

def Host_in_range(host, Host_range):
""" Kiểm tra xem máy chủ đã cho có thuộc phạm vi nhất định hay không (cả hai đều đại diện cho phạm vi """
#print(*zip(máy chủ, máy chủ_range))
cho (min_h, max_h), (min_r, max_r) trong zip(host, Host_range):
if (min_h < min_r) hoặc (max_h > max_r): trả về Sai
trả về Đúng


if __name__ == "__main__":

Host_str = ['192.168.0.1', '192.168.0.10', '0.168.0.0', '192.168.1.10', '192.168.0.255']
máy chủ = [x.split('.') cho x trong máy chủ_str]
máy chủ = [[get_range(x) cho x trong elem] cho elem trong máy chủ]

Host_ranges_str = ['0-255.168.0.0-254', '192.168.2-5.0-255']
Host_ranges = [x.split('.') cho x trong Host_ranges_str]
máy chủ_ranges = [[get_range(x) cho x trong elem] cho elem trong máy chủ_ranges]

cho x trong phạm vi (5):
print(hosts_str[x], "trong phạm vi", Host_ranges_str[0], Host_in_range(hosts[x], Host_ranges[0]))

Về python - so sánh danh sách IP với danh sách IP hoặc dải IP khác, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/40185170/

26 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress