Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonモジュールをアンロード(リロード)するにはどうすればよいですか?


関数reload(moduleName)は、以前にロードされたモジュールをリロードします(スクリプトを終了せずに、構文 "importmoduleName"でロードしたと仮定します。これは、会話で使用することを目的としており、モジュールのソースファイルであり、Pythonを終了して再起動せずにテストしたい場合。たとえば、

>>> import mymodule
>>> # Edited mymoduleand want to reload it in this script
>>> reload(mymodule)

moduleNameはモジュールの実際の名前であり、その名前を含む文字列ではないことに注意してください。リロード関数についてのPythonドキュメントの状態:

Pythonモジュールのコードが再コンパイルされ、モジュールレベルのコードが再実行されて、モジュールのディクショナリ内の名前にバインドされる新しいオブジェクトのセットが定義されます。拡張モジュールのinit関数は、2回目には呼び出されません。モジュール名前空間の名前は、新しいオブジェクトまたは変更されたオブジェクトを指すように更新されます。古いオブジェクトへの他の参照(モジュールの外部の名前など)は、新しいオブジェクトを参照するためにリバウンドされないため、必要に応じて、それらが発生する各名前空間で更新する必要があります。


  1. Pythonでモジュールをリロードしますか?

    reload()-以前にインポートされたモジュールまたはロードされたモジュールをリロードします。これは、インタラクティブセッション中にテストスクリプトを繰り返し実行する場合に便利です。コードに変更を加えた場合でも、開発中のモジュールの最初のバージョンが常に使用されます。そのシナリオでは、モジュールがリロードされていることを確認する必要があります。 reload()に渡される引数は、以前に正常にインポートされたモジュールオブジェクトである必要があります。 構文 import importlib importlib.reload(sys) 例 >>> import sys &g

  2. Pythongetpassモジュール

    Pythonの標準ライブラリのgetpassモジュールで定義されている2つの関数があります。これらは、ユーザーの資格情報を検証した後にのみ端末ベースのアプリケーションを実行する必要がある場合に役立ちます。 getpass() この関数は、ユーザーにパスワードの入力を求めます。デフォルトでは、ユーザーが端末に入力したキーはエコーされません。また、端末に表示されるデフォルトのプロンプトは「パスワード」であり、パラメータとして文字列を指定することでカスタマイズできます。 次の例では、PythonプロンプトはWindowsのコマンドプロンプトターミナルから呼び出されます。入力したパスワードは端末