Как получить полное имя хоста в Python?

Я пытаюсь получить имя хоста в Python. В linux, если я набираю hostname в командной строке, я получаю

[email protected]:/home/david/zkpython# hostname
phxdbx45

Но если я наберу hostname -f, тогда я получу полное имя хоста в ubuntu и то, что мне нужно от Python.

[email protected]:/home/david/zkpython# hostname -f
phxdbx45.phx.host.com

Я знаю, что в Python мы можем использовать ниже код, но он не дает мне полностью квалифицированного имени хоста. Он дает мне вывод hostname, как я упоминал выше.

#!/usr/bin/python

import socket

hostname = socket.gethostname()
print hostname

Есть ли способ получить полное имя хоста в Python, которое является надежным и правильным?

Ответ 1

Используйте описательно-названную функцию socket.getfqdn():

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