我知道可以使用platform.node()来获取我的计算机的网络名称:
>>> import platform
>>> platform.node()
'MyComputerName'
但是我真正想要的是与以下类似的功能:
>>> get_full_network_domain_name()
'MyComputerName.it.na.mycompany.com'
有像这样的东西存在吗?
我知道可以使用platform.node()来获取我的计算机的网络名称:
>>> import platform
>>> platform.node()
'MyComputerName'
但是我真正想要的是与以下类似的功能:
>>> get_full_network_domain_name()
'MyComputerName.it.na.mycompany.com'
有像这样的东西存在吗?
hostname -f
通过这样的方式实现:socket.getaddrinfo(socket.gethostname(), 0, flags=socket.AI_CANONNAME)[0][3]
而getfqdn()
则似乎会在 /etc/hosts 中查找主机名,并使用包含一个点的第一条条目。对我来说,hostname -f
返回 'daniel-thinkpad',而getfqdn()
返回 localhost6.localdomain6。 - Daniël van Eedengetaddrinfo
版本不支持关键字参数,所以我只能使用socket.getaddrinfo(socket.gethostname(), 0, 0, 0, 0, socket.AI_CANONNAME)[0][3]
。 - Florian Brucker