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

ars*_*nal 10 python hostname

我想在Python中获取主机名.在linux中,如果我输入hostname命令提示符,我得到

root@phxdbx45:/home/david/zkpython# hostname
phxdbx45
Run Code Online (Sandbox Code Playgroud)

但是,如果我键入,hostname -f那么我会在ubuntu中获得完全限定的主机名,这也是我需要的Python.

root@phxdbx45:/home/david/zkpython# hostname -f
phxdbx45.phx.host.com
Run Code Online (Sandbox Code Playgroud)

我知道在Python中我们可以使用下面的代码,但它不会给我完全限定的主机名.它给了hostname我如上所述的输出.

#!/usr/bin/python

import socket

hostname = socket.gethostname()
print hostname
Run Code Online (Sandbox Code Playgroud)

有没有办法在Python中获得可靠且正确的完全限定主机名?

rig*_*old 29

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

>>> import socket   
>>> socket.getfqdn()
'phxdbx45.phx.host.com'
Run Code Online (Sandbox Code Playgroud)