def format_ipv6addr_group2(addr): """ Format IPv6 addresses in 4 \n-separated groups of 32 bits Returns a string """ addr_s = str(addr.exploded) return f"{addr_s[:10]}\n{addr_s[10:20]}\n{addr_s[20:30]}\n{addr_s[30:40]}"
Usage example:
addr = ipaddress.IPv6Address("fd66:6cbb:8c10:1234:4567:89ab:cdef:0123") print(format_ipv6addr_group2(addr))
Output:
fd66:6cbb: 8c10:1234: 4567:89ab: cdef:0123