Python で Linux 環境変数の設定を解除する
この記事では、Python で Linux 環境変数の設定を解除するさまざまな方法を学習します。 最も役立つ方法は、unset
コマンドを使用することです。
ただし、Python で Linux 環境変数の設定を解除するには、他のいくつかの方法を使用できます。 詳細については、記事をお読みください。
Python で Linux 環境変数の設定を解除する
Python はさまざまなオペレーティング システム (OS) で動作します。 Linux は、Python を使用できるオペレーティング システムの 1つです。
Linux と Python の両方を使用できますが、両者にはいくつかの違いがあります。 考慮する必要がある違いの 1つは、環境変数の解釈方法です。
以前に設定した環境変数の設定を解除したい場合は、Python で os.unsetenv()
メソッドを使用できます。
この関数は、現在のプロセスから環境変数を削除し、環境変数の名前を引数として受け入れます。 さらに、関数は現在のプロセスから環境変数を削除します。
したがって、Python を使用してシェル環境変数を設定解除しても、シェルから値が削除されないことに注意してください。 環境変数がシェルで設定されている場合、Python プロセスの後に開始された場合でも、Python の子プロセスは引き続きそれにアクセスできます。
シェルから環境変数をクリアしたい場合は、unset
コマンドを使用する必要があります。
Python で Linux 環境変数の設定を解除する方法
Python には、Python で Linux の環境変数から値を削除および設定解除するための多くのオプションが用意されています。
unset
コマンドを使用するのが、最も一般的で一般的な方法です。 このコマンドを使用すると、現在アクティブなシェルから環境変数が削除されます。- Python の
export
コマンドは、以前に設定された Linux 環境変数をクリアするための追加の方法を提供します。 このコマンドは、アクティブなシェルとすべての子プロセスから環境変数を削除します。 - 最後に、
os.environ.pop
テクニックを利用する方法もあります。 このメソッドの実行後、環境変数はos.environ
ディクショナリから削除されます。
私たちが選択する戦略は、私たちが持っている要件に基づいています。
unset
コマンドは、現在作業中のシェルから環境変数をクリアする場合に使用するコマンドです。export
コマンドは、現在アクティブなシェルと子プロセスから環境変数をクリアしたい場合に使用します。os.environ
ディクショナリから環境変数を削除するだけであれば、os.environ.pop
関数を使用します。
os.environ
を使用して、環境変数の 1つを削除または設定解除する
Linux で Python を使用する場合、環境変数の 1つを削除または設定解除する必要がある場合があります。
たとえば、PYTHONPATH
環境変数が特定の場所を指すように構成されていて、その設定を削除したい場合は、次の例に示すコードを使用できます。
# import os library
import os
# Unset the path with the command
os.environ.pop("PYTHONPATH", None)
このアクションにより、PYTHONPATH
環境変数が os.environ
ディクショナリから削除されます。 この場合、環境変数が設定されていないと何も起こりません。
del os.environ
を使用して、環境変数の 1つを設定解除する
以下に示すコードを使用して環境変数をクリアするオプションを使用することもできます。
# import operating system
import os
# use this command to unset
del os.environ["PYTHONPATH"]
出力:
KeyError Traceback (most recent call last)
KeyError: 'PYTHONPATH'
このアクションにより、PYTHONPATH
環境変数が os.environ
ディクショナリから削除されます。 環境変数が設定されていない場合、これにより KeyError
が発生します。
os.environ.unsetenv
および os.environ
を使用して変数を削除および置換する
変数 USER
に割り当てられた値をクリアし、単語 nobody
に置き換えたい場合は、次のように進めます。
import os
os.environ.unsetenv("USER")
os.environ["USER"] = "nobody"
上記のコードは、変数 USER
に割り当てられた値を明確にし、単語 nobody
に置き換えます。
os.environ.unsetenv
を使用して設定を解除する
変数の値をクリアするだけの場合は、2 番目のパラメーターを省略できます。 たとえば、次のようにすると、USER
変数は設定されません。
import os
os.environ.unsetenv("USER")
上記のコードは、変数の値をクリアします。 USER
変数は設定されません。
os.environ.get()
を使用して、設定を解除する前に変数が設定されているかどうかを確認する
設定を解除する前に、変数が設定されているかどうかをチェックするには、os.environ.get()
関数を使用することもできます。 現在設定されている場合にのみ変数の設定を解除したい場合は、これを有利に利用できます。
たとえば、次の例では、すでに nobody
として定義されている場合にのみ、USER
変数の値を削除します。
コード例:
import os
if os.environ.get("USER") == "nobody":
os.environ.unsetenv("USER")
すでにわかっているように、変数の値をクリアすることは、常に環境から削除することを意味するわけではありません。 値を空の文字列に設定するだけです。
環境から変数を完全に削除したい場合は、os.environ.pop()
関数を使用できます。 この関数は、環境から変数を削除し、削除される前の値を返します。
コード例:
import os
prev_value = os.environ.pop("USER", None)
print(prev_value) # prints "nobody"
出力:
nobody
このコードは、環境から USER
変数を削除し、削除される前の値を返します。
この Python の記事が、Python で Linux 環境変数の設定を解除する方法を理解するのに役立つことを願っています。
My name is Abid Ullah, and I am a software engineer. I love writing articles on programming, and my favorite topics are Python, PHP, JavaScript, and Linux. I tend to provide solutions to people in programming problems through my articles. I believe that I can bring a lot to you with my skills, experience, and qualification in technical writing.
LinkedIn