Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonファイルを別のPythonファイルから実行する3つの方法

1つのPythonファイルから別のPythonファイルを実行したい場面はよくあります。実現方法は複数あり、それぞれ特徴が異なるため、用途に合わせて使い分けることが大切です。ここでは代表的な3つの方法を具体例とともに解説します。

1. モジュールとしてインポートする(最も推奨される方法)

もっとも標準的で安全なのが、実行したいファイルをモジュールとして読み込み、その中の関数を呼び出す方法です。

例えば、fileB.pyfileA.pyから利用したい場合を考えます。両方のファイルが同じディレクトリにあるなら、fileA.py内に次のように記述します。

import fileB

これだけで、fileA.pyの中からfileB.py内の関数や変数を自由に使えるようになります。

fileB.my_func()

この方法の利点は、各ファイルが独立した名前空間を持つため変数の衝突が起きにくく、コードの再利用性や保守性が高まる点です。通常はまずこの方法を検討しましょう。

2. exec() を使ってコードを実行する

Python 2では、組み込み関数execfile()を使うことでファイルを直接実行できました。

execfile('file.py')

しかし、この関数はPython 3では削除されています。Python 3で同様の動作を実現するには、ファイルの中身を読み込んでexec()に渡します。

exec(open('file.py').read())

手軽な一方で、読み込んだコードは現在の名前空間上でそのまま実行されるため、既存の変数が意図せず上書きされるなどの副作用がある点に注意が必要です。

3. 別プロセスとして起動する(os.system / subprocess)

完全に独立した新しいプロセスとしてスクリプトを実行したい場合は、os.system()が利用できます。

import os
os.system('python my_file.py')

より柔軟で安全な方法としては、標準ライブラリのsubprocessモジュールが推奨されています。

import subprocess
subprocess.run(['python', 'my_file.py'])

終了コードの確認や標準出力の取得など、細かい制御を行いたい場合に特に便利です。

まとめ

単に関数やクラスを再利用したいなら「import」、その場でコードを実行したいなら「exec()」、完全に独立した処理として走らせたいなら「os.system()やsubprocess」というように、目的に応じて方法を選ぶのがポイントです。特別な理由がない限り、モジュールとしてのインポートが最も安全で推奨されるアプローチです。

  1. WindowsでISOファイルを作成・実行する方法【無料ツールで簡単バックアップ】

    Windowsは、数多くのファイル形式が使われているOSとして知られています。macOSに比べて対応するファイル形式が非常に多く、その中にはとても便利でありながら、意外と知名度の低いものもあります。それがISOファイルです。ISOファイルとは一体何なのでしょうか? どんな用途に使え、なぜ覚えておく価値があるのか、詳しく見ていきましょう。ISOファイルとは?近年、PCからCD・DVDドライブが省かれる傾向が強まり、ソフトウェアはクラウド経由でダウンロードするのが主流になりつつあります。しかし、オフィスにはまだ古いインストールディスクが眠っていることも多いはず。そんなときこそ、ISOファイルが活躍

  2. Pythonプログラムの実行方法まとめ!IDLE・コマンドライン・PyCharmなど5つの方法を解説

    コードを書いたら、次はそれを実行して出力結果を確認する必要があります。プログラムを実行することで、書いたコードが正しく動作し、期待通りの結果が得られるかどうかをチェックできます。幸いなことに、Pythonプログラムの実行はとても簡単です。この記事では、代表的な5つの実行方法をわかりやすく解説します。IDLEで実行するPythonに標準で付属しているIDLEを使ってプログラムを実行するには、以下の手順に従います。Pythonのコードを書いて保存します。メニューから「Run > Run Module」を選択するか、キーボードのF5キーを押すだけで実行できます。IDLEは初心者にとって扱いやす