Python 獲取主機名

Vaibhhav Khetarpal 2023年1月30日 2021年7月12日
  1. 在 Python 中使用 gethostname() 方法查詢機器的主機名
  2. 在 Python 中使用 platform 模組查詢機器的主機名
  3. 在 Python 中使用 os.uname() 函式查詢機器的主機名
Python 獲取主機名

主機名是分配給計算機網路網路中的裝置或網路節點的唯一名稱或別名。它主要用於區分本地網路中的裝置。它們是暗示主機並使其可用於網路和個人的顯式名稱或字串。

本教程將介紹如何在 Python 中查詢主機名。

在 Python 中使用 gethostname() 方法查詢機器的主機名

gethostname() 函式用於返回一個字串,其中包含 Python 直譯器當前正在執行的機器的主機名值。

要使用 gethostname() 函式,需要將 socket 模組匯入到 python 程式碼中。

Python 中的 socket 模組使程式設計師可以訪問 BSD 套接字介面。socket 模組提供了多種功能和操作,用於建立包括客戶端和伺服器程式在內的成熟網路應用程式。

以下程式碼使用 gethostname() 函式在 Python 中獲取主機名。

import socket
print(socket.gethostname())

在 Python 中使用 platform 模組查詢機器的主機名

platform 模組是在 Python 中定義的內建模組,用於查詢有關執行直譯器的系統的資訊。

當需要檢查你的程式是否與你係統上安裝的當前 Python 版本相容或硬體規格是否滿足你的程式的需要時,此模組是必不可少的部分。platform 模組已經存在於 Python 的庫列表中,不需要使用 pip 手動安裝。

platform.node() 函式用於檢索計算機的主機名。

以下程式碼使用 platform 模組在 Python 中獲取主機名。

import platform
print (platform.node())

在 Python 中使用 os.uname() 函式查詢機器的主機名

要使用 os.uname() 函式,需要將 os 模組匯入 Python 程式碼。

Python 中的 OS 模組可以提供與作業系統進行流暢互動的功能。OS 模組直接位於 Python 的標準實用程式模組下。該模組提供了一種方便且可移植的方法來利用依賴於作業系統的功能。

os.uname() 函式檢索有關係統當前作業系統的資訊。os.uname() 進一步包含幾個欄位。nodename 欄位生成當前網路上的機器名稱,可用於標識主機名。

以下程式碼使用 os.uname() 函式在 Python 中獲取主機名。

import os
hname = os.uname()
print(hname)

此程式碼的輸出包含所有五個屬性,nodename 欄位生成 Python 中的主機名。

一些 Python 直譯器可能會將 nodename 的輸出截斷為 8,而 socket.gethostname() 有時可能會提供更準確的輸出;因此,這是一種更一致的獲取主機名的方法。

Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

相關文章 - Python Network