0

アプリケーション: 財務アナリストが、Python コードのスニペットをすばやく作成し、便利な財務関数と共有変数を、インポートや関数の定義などを行うことなく使用できると想像してください。彼らが書きたいコードのフラットソースファイルだけで、他には何もありません。

ソースファイルをモジュールとして動的にロードし(簡単)、ロードされたモジュールに関数と変数を属性として追加する(さらに簡単)ことで、ほとんどそこにたどり着くことができます。問題は、モジュールをロードするとモジュールが実行されることですが、これは早すぎます。未定義関数など

Python 3.x と PEP 402 では、Module Specs とcreate_moduleandexec_module関数が導入されています。モジュールを作成し、属性を追加して実行します。完全。例外create_moduleは返すことができNoneます。そして 3.5 importlib.abc.util、および.machineryコードを参照すると、 create_modulereturnのすべての実装が表示されNoneます。

そのため、代わりに独自のローダー、および/またはインポーター、および/または何か他のものを作成する必要があるかどうか疑問に思っています。ところで、モジュールに追加するよりもモジュールに追加する方が好きですbuiltinsが、builtins機能し、それが私の唯一のオプションである場合は、それを行います。

ありがとう!

4

0 に答える 0