フルパスを指定してPythonモジュールをインポートする方法
フルパスを指定したPythonモジュールのインポート方法
フルパスを指定してPythonモジュールをインポートする最も簡単な方法は、そのパスをsys.pathに追加することです。sys.pathは、Pythonインタープリターがソースファイル内でインポートされたモジュールを検索する際に参照するディレクトリのリストを保持しています。このリストに目的のモジュールがあるディレクトリを追加すれば、通常のimport文と同じ書き方でモジュールを読み込めるようになります。
基本的な使い方
import sys
sys.path.append('/foo/bar/my_module')
# モジュールに my_func という関数が定義されている場合は、次のようにインポートできます
from my_module import my_func
# または、モジュール全体をインポートすることも可能です
import my_module検索の優先度を上げたい場合
append()はリストの末尾にパスを追加するため、同名のモジュールが標準ライブラリなど他の場所に存在する場合は、そちらが先に読み込まれてしまう可能性があります。確実に指定したパスを優先させたい場合は、insert(0, ...)を使ってリストの先頭に追加しましょう。
import sys sys.path.insert(0, '/foo/bar/my_module')
注意点
sys.pathへの変更は、現在実行中のプロセス(セッション)にのみ有効です。プログラムを再起動すると設定は失われるため、恒久的にパスを追加したい場合は、環境変数PYTHONPATHを設定するか、site-packagesディレクトリに.pthファイルを配置する方法を検討してください。
-
Pythonの「from...import *」ステートメントとは?使い方と注意点を解説
Pythonの「from モジュール名 import *」ステートメントは、モジュール内のすべての関数やオブジェクトを一括でインポートするための構文です。この書き方を使うと、関数を呼び出す際に「math.」のようなモジュール名のプレフィックスを付ける必要がなくなり、コードを簡潔に記述できます。 基本的な使い方 例えば、mathモジュールのすべての関数をインポートし、プレフィックスなしで直接呼び出したい場合は、次のように記述します。 >>> from math import * >>> sin(0) 0.0 >>> cos(0) 1.0
-
Pythonモジュールから単一の関数だけをインポートする方法
Pythonでは、from モジュール名 import 関数名 という構文を使うことで、モジュールから特定の関数だけを選んでインポートできます。モジュール全体を読み込む必要がないため、コードが簡潔になり、名前空間もすっきりと保たれます。基本的な使い方たとえば、mathライブラリからsin関数だけをインポートし、他の関数は読み込まないようにしたい場合は、次のように記述します。>>> from math import sin >>> sin(0) 0.0「math.」という接頭辞が不要になる理由この方法でインポートされるのはsin関数のみであり、mathモジュー