別のPythonファイルからPythonファイルを読み込む方法|モジュールとしてインポートして関数を呼び出す
Pythonでは、あるファイルの中身を別のPythonファイルから読み込んで実行したい場合、そのファイルをモジュールとして扱うのが基本です。具体的には、実行したいファイルをimport文で読み込み、その中に定義された関数を呼び出します。
基本的な使い方:import文でファイルを読み込む
例えば、fileB.py を fileA.py から読み込みたいとします。両方のファイルが同じディレクトリ(フォルダ)にある場合、fileA.py 内に次のように1行書くだけでOKです。
import fileB
これで fileA.py 内からは、fileB.py に定義されている任意の関数を、以下のように「ファイル名.関数名」の形式で呼び出せるようになります。
fileB.my_func()
呼び出される側(fileB.py)の準備
なお、fileB.py 側では、他のファイルから使いたい関数をあらかじめ定義しておく必要があります。ここでは my_func という名前の関数を定義してみましょう。
コード例(fileB.py)
def my_func():
print("Hello from B")
実行結果
fileA.py を実行すると、fileB.py 内の my_func() が呼び出され、次のような出力が得られます。
Hello from B
補足:特定の関数だけを直接インポートする方法
ファイル全体ではなく、必要な関数だけを読み込みたい場合は、from 構文を使うと便利です。
from fileB import my_func my_func() # 「fileB.」を付けずに直接呼び出せる
このように書くと、fileB.my_func() ではなく my_func() とシンプルに記述できます。用途に応じて import と from 〜 import を使い分けると、コードがより読みやすくなります。
-
Python 3のtkinterでファイルダイアログから文字列(ファイルパス)を取得する方法
tkinterアプリケーションでファイルシステムを操作したい場合には、filedialogモジュールを利用します。このモジュールは、システム上のファイルを扱うための仕組みを提供しており、さまざまな種類のファイルダイアログを簡単に作成できる組み込み関数を多数備えています。用途に応じて任意のfiledialog関数を選択し、アプリケーションに組み込むことが可能です。中でも最もよく使われているのがfiledialog.askopenfilename()です。この関数を呼び出すと、ユーザーにファイルを開かせるためのダイアログが表示され、選択されたファイルのパスを文字列として受け取ることができます。サン
-
Pythonオブジェクトのソースコードを取得する方法(inspect.getsourceの使い方)
Pythonでは、標準ライブラリのinspectモジュールに含まれるgetsource()メソッドを使うことで、関数やクラスなどのオブジェクトのソースコードを簡単に取得できます。inspect.getsource(object)getsource()メソッドの概要inspect.getsource()は、指定したオブジェクトのソースコードのテキストを返します。引数には以下のようなオブジェクトを指定できます。モジュールクラスメソッド関数トレースバック(traceback)フレーム(frame)コードオブジェクトソースコードは単一の文字列として返されます。なお、ソースコードを取得できない場合にはO