我想在Python中获取主机名。在linux中,如果我在命令提示符下键入hostname
,我会得到
root@phxdbx45:/home/david/zkpython# hostname
phxdbx45
但是,如果我输入hostname -f
,那么我会在ubuntu中获得完全限定的主机名,这也是我需要的。
root@phxdbx45:/home/david/zkpython# hostname -f
phxdbx45.phx.host.com
我知道在Python中我们可以使用下面的代码,但它不会给我完全限定的主机名。如上所述,它为我提供了hostname
的输出。
#!/usr/bin/python
import socket
hostname = socket.gethostname()
print hostname
有没有办法在Python中获得可靠且正确的完全限定主机名?
答案 0 :(得分:28)
使用描述性命名的函数socket.getfqdn()
:
>>> import socket
>>> socket.getfqdn()
'phxdbx45.phx.host.com'