Python Get Hostname

Vaibhhav Khetarpal 2023年1月30日
  1. Python で gethostname() メソッドを使用してマシンのホスト名を検索する
  2. Python で platform モジュールを使用してマシンのホスト名を検索する
  3. Python で os.uname() 関数を使用してマシンのホスト名を検索する
Python Get Hostname

ホスト名は、コンピュータネットワークの Web 内のデバイスまたはネットワークノードに割り当てられた一意の名前またはエイリアスです。これは主に、ローカルネットワーク内のデバイスを区別するために使用されます。これらは、ホストをほのめかし、ネットワークや個人が使用できるようにする明示的な名前または文字列です。

このチュートリアルでは、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)

このコードの出力には 5つの属性がすべて含まれており、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