Python 获取主机 IP 与 Hostname 的方法

小林子
小林子
发布时间:2026-10-11| 5人浏览过
原创

本文介绍在 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 地址。希望本文对您有所帮助!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。