如何在Python中获取完全限定的主机名?

时间:2013-12-26 23:13:47

标签: python hostname

我想在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中获得可靠且正确的完全限定主机名?

1 个答案:

答案 0 :(得分:28)

使用描述性命名的函数socket.getfqdn()

>>> import socket   
>>> socket.getfqdn()
'phxdbx45.phx.host.com'