HOWTO · Python

NameError: OS モジュールが Python で定義されていません

このチュートリアルでは、NameError: the OS module is not defined in Python というエラーの解決について説明します。

このページの内容

os モジュールは、Python プログラミングの世界の不可欠な部分であり、オペレーティング システムとの対話を可能にする関数と依存関係を提供します。

最初に os モジュールをインポートせずに os モジュール関数を使用すると、エラー、つまり NameError: OS モジュールが Python で定義されていません が発生します。

このチュートリアルは、NameError: OS モジュールが Python で定義されていません エラーを防ぐためのソリューションを提供することを目的としています。

os モジュールをインポートして NameError: the OS module is not defined in Python を修正する

以下は、最初にインポートせずに os モジュールの関数を使用するコードの例です。

os モジュールの関数、つまりユーザーが作業している現在のディレクトリを返すために使用される getcwd() 関数を使用しようとします。

x = os.getcwd()
print(x)

上記のコードは、次の出力を提供します。

Traceback (most recent call last):
  File "/tmp/sessions/a1f5d543b4798b53/main.py", line 2, in <module>
    x = os.getcwd()
NameError: name 'os' is not defined

このエラーを防ぐために、関数を使用する前に os モジュールをインポートする必要があります。 たとえば、次のコードは os モジュールをインポートして NameError: the OS module is not defined in Python エラーを解決します。

import os

x = os.getcwd()
print(x)

上記のコードは、次の出力を提供します。

/tmp/sessions/fe77fbcc369bc629

os モジュールが local または nested スコープではなく global スコープでインポートされていることを確認する必要があります。 後者の場合、特定の local スコープでのみ os モジュール関数を使用できます。

それをグローバルにインポートすることで、スコープの長さ全体で os モジュールによって提供される関数を使用できます。