获取基本(或短?)主机名的正确方法是什么?

时间:2015-05-12 08:35:43

标签: python

是否有更简单/更好或更pythonic的方式来获取基本主机名?

base_hostname = socket.gethostname().split(".")[0]

举个例子,我如何才能获得localhost,如下所示:

>>> socket.gethostname()
'localhost.localdomain'
>>> socket.getfqdn()
'localhost.localdomain'
>>> socket.gethostname().split('.')[0]
'localhost'

我在问,因为我怀疑有类似于os.path的{​​{1}},abspathbasenamejoin,{{1}等操作主机名的功能,但我还没有找到它。

1 个答案:

答案 0 :(得分:2)

你最多可以将字符串拆分一次,使其更加pythonic:

import socket
socket.gethostname().split('.', 1)[0]

此外,如果由于某种原因您不想要或无法使用socket套餐,另一种方法是使用platform套餐:

import platform
platform.node().split('.', 1)[0]