質問: こんにちは. Perlを5年ほど学んでいましたが, この度Pythonを学び始めることにしました. 初学者です. 現在PythonでWebアプリケーションを作ろうと思っているのですが, Perlでは`require "foo.cgi"`のように記述することで同じディレクトリにあるfoo.cgiというライブラリを読み込むことができました. Pythonにも`import`以外にこのPerlの`require`のようなものは存在するのでしょうか? 追記: つまり, コンパイル時ではなくスクリプトの実行時に評価される読み込みの関数がPythonにはあるのかなと疑問に思いました.
回答: perlで言う`use`に対する`require`のようなものが、pythonにあるかという意味でしょうか。 パッケージ名ではなくファイルパスからランタイムにインポートしたいという。 python2 ======= ``` import imp your_module = imp.load_source('your_module', './path/to/your_module.py') your_module.your_function() ``` python3 ======= ``` import importlib.util spec = importlib.util.spec_from_file_location('your_module', './path/to/your_module.py') your_module = importlib.util.module_from_spec(spec) spec.loader.exec_module(your_module) your_module.your_function() ``` 質問文にあるcgiファイルをライブラリとしてrequireという場面はちょっと考えづらいです。 .cgiではなく.plファイルかなと思います。