Python 获取主机 IP 与 Hostname 的方法
本文介绍在 Linux 环境下使用 Python 获取主机名和 IP 地址的方法。通过 socket 模块的 gethostname() 和 gethostbyname() 函数,可以获取当前主机名及其对应的 IP 地址。同时,使用 gethostbyname_ex() 可以获取更详细的网络信息,包括别名和所有关联的 IP 地址列表。
Python 获取主机 IP 与 Hostname 的方法
在 Linux 系统中,获取主机名和 IP 地址是网络编程中的常见需求。本文将介绍如何使用 Python 的 socket 模块来实现这一功能。
1. 获取主机名
Python 的 socket 模块提供了 gethostname() 函数,用于获取当前主机名。以下是一个简单的示例:
import socket
hostname = socket.gethostname()
print("主机名:", hostname)2. 获取主机 IP 地址
要获取主机名对应的 IP 地址,可以使用 gethostbyname() 函数。以下是一个示例:
import socket
hostname = socket.gethostname()
ip_address = socket.gethostbyname(hostname)
print("主机名:", hostname)
print("IP 地址:", ip_address)3. 获取完整的网络信息
如果需要获取更详细的网络信息,包括别名和所有关联的 IP 地址列表,可以使用 gethostbyname_ex() 函数。以下是一个示例:
import socket
hostname = socket.gethostname()
info = socket.gethostbyname_ex(hostname)
print("主机名:", hostname)
print("别名:", info[1])
print("IP 地址列表:", info[2])4. 注意事项
- 确保主机名和 IP 地址在 /etc/hosts 文件中正确配置。
- 在某些情况下,gethostbyname() 可能返回 127.0.0.1,这通常是因为主机名未正确配置。
- 使用 sudo 权限修改 /etc/hostname 和 /etc/hosts 文件,以确保配置生效。
通过以上方法,您可以轻松地在 Python 中获取主机名和 IP 地址。希望本文对您有所帮助!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









