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

Pythonモジュールが他のモジュールを呼び出さないようにするにはどうすればよいですか?


「サンドボックスPython」を使用できます。 「サンドボックス化されたPython」を使用すると、モジュールの許可または禁止、実行スライスの制限、ネットワークトラフィックの許可または拒否、特定のディレクトリ(「/」として浮動)へのファイルシステムアクセスの制限などを行うことができます。 RestrictedExecutionとも呼ばれます。 Pythonでサンドボックスを実装する方法はたくさんあります。 CPythonランタイムを変更したり、別のランタイムを使用したり、オペレーティングシステムサポートを使用したりして、このようなサンドボックスを実装できます。サンドボックスの詳細については、https://wiki.python.org/moin/SandboxedPython

をご覧ください。

PypiにはRestrictedPython(https://pypi.python.org/pypi/RestrictedPython)というパッケージがあります。これは、Python言語の定義済みサブセットであり、信頼できる環境にプログラム入力を提供できます。 RestrictedPythonはサンドボックスシステムやセキュリティで保護された環境ではありませんが、信頼できる環境を定義し、その中で信頼できないコードを実行するのに役立ちます。


  1. Pythonモジュールはどのように機能しますか?

    Pythonには、定義をファイルに入れて、スクリプトまたはインタープリターのインタラクティブインスタンスで使用する方法があります。このようなファイルはモジュールと呼ばれます。モジュールからの定義は、他のモジュールまたはメインモジュール(トップレベルおよび計算機モードで実行されるスクリプトでアクセスできる変数のコレクション)にインポートできます。 モジュール、たとえば `hello`をインポートすると、インタプリタは入力スクリプトを含むディレクトリでhello.pyという名前のファイルを検索し、次に環境変数PYTHONPATHで指定されたディレクトリのリストを検索します。 fibonacci

  2. コマンドラインからPythonモジュールを呼び出す方法は?

    モジュールとして使用されるPythonスクリプトを作成している場合は、この関数の呼び出しを下部に追加することで、このモジュールをテストできます。 def fubar():     #does something useful fubar() 次のようなコマンドプロンプトで実行します: ~$ python fubar.py