4
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

python スクリプトを import する

Last updated at Posted at 2016-04-25

問題

普通だと import できないファイル名の python スクリプト、
例えば zz-myscript-01.py
みたいなやつの内部で実装されている関数をインポートしたい。
しかし、

import zz-myscript-01

みたいな書き方はできない (Syntax Error)

名前を変えずにロードしたい。

解決方法

imp を使う。例えば、上記スクリプトを、 mymodule という名前でロードするには
以下のようにすれば OK。

def customImport():
  import imp
  global mymodule
  fp, name, desc = imp.find_module("zz-myscript-01")
  mymodule = imp.load_module("mymodule", fp, name, desc)

customImport()

なぜうまく行くのか

imp は、 Python の import 文の実装へのインタフェースなので、
それを使って独自に import をしているから。

参考

4
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?