記事ディレクトリ
この記事では、Python で Linux 環境変数の設定を解除するさまざまな方法を学びます。最も便利な方法は、unset コマンドを使用することです。
ただし、他のいくつかの方法を使用して、Python で Linux 環境変数の設定を解除できます。さらに詳しい情報については、記事をお読みください。
Python で Linux 環境変数の設定を解除する
Python はさまざまなオペレーティング システム (OS) で利用できます。Linux は Python を使用できるオペレーティング システムの 1 つです。
Linux と Python の両方を使用できますが、この 2 つにはいくつかの違いがあります。考慮する必要がある違いの 1 つは、環境変数がどのように解釈されるかです。
以前に設定した環境変数の設定を解除したい場合は、 Python のメソッドを使用できますos.unsetenv()
。
この関数は、現在のプロセスから環境変数を削除し、環境変数の名前を引数として受け取ります。さらに、この関数は現在のプロセスから環境変数を削除します。
したがって、Python を使用してシェル環境変数の設定を解除しても、シェルから値は削除されないことに留意することが重要です。環境変数がシェルに設定されている場合、Python プロセスの後に開始された場合でも、Python のサブプロセスは引き続きその環境変数にアクセスできます。
シェルから環境変数をクリアしたい場合は、unset コマンドを使用する必要があります。
Python で Linux 環境変数の設定を解除する方法
Python には、Python で Linux の環境変数から値を削除したり設定解除したりするためのオプションが多数用意されています。
- unset コマンドの使用は、最も一般的で一般的に使用される方法です。このコマンドを使用すると、現在アクティブなシェルから環境変数が削除されます。
- Python のエクスポート コマンドは、以前に設定した Linux 環境変数をクリアする追加の方法を提供します。このコマンドは、アクティブなシェルとすべての子プロセスから環境変数を削除します。
- 最後に、別のオプションは、os.environ.pop テクニックを利用することです。このメソッドを実行すると、環境変数が os.environ ディクショナリから削除されます。
私たちが選択する戦略は、要件に基づいています。
- 現在使用しているシェルから環境変数をクリアしたい場合は、unset コマンドを使用します。
- 現在アクティブなシェルおよび子プロセスから環境変数をクリアしたい場合は、export コマンドを使用します。
- os.environ ディクショナリから環境変数を削除したいだけの場合は、os.environ.pop 関数を使用できます。
os.environ を使用して、環境変数の 1 つを削除または設定解除します。
Linux で Python を使用する場合、これらの環境変数のいずれかを削除または設定解除する必要がある場合があります。
たとえば、特定の場所を指すように PYTHONPATH 環境変数を構成し、その設定を削除したい場合は、以下の例で提供されるコードを使用できます。
#import os library
import os
# Unset the path with the command
os.environ.pop('PYTHONPATH', None)
このアクションにより、os.environ ディクショナリから PYTHONPATH 環境変数が削除されます。この場合、環境変数が設定されていない場合は何も起こりません。
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'
このアクションにより、os.environ ディクショナリから PYTHONPATH 環境変数が削除されます。環境変数が設定されていない場合、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()
関数を使用して行うこともできます。現在設定されている変数の設定を解除したいだけの場合は、これを有利に利用できます。
たとえば、USER 変数が none として定義されている場合、次のコードはその値のみを削除します。
サンプルコード:
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 環境変数の設定を解除する方法を理解するのに役立つことを願っています。