にほんブログ村 IT技術ブログへ
にほんブログ村

Linux ブログランキングへ

2023年01月27日

Pythonのpyファイル、ipynbファイルを連続実行する方法


PythonのpyファイルとJupyther Notebookのipynbを連続実行
する方法をブログにします。
簡単なんですけどあまり書かれていないので。
正直速くはならないので、CPUが余っていたら並列実行させた方が良いです。

●pyファイルをimportで連続実行
例えばhello.pyとgood.pyを連続実行させる場合、
同じフォルダに置いてimportに書きます。
予約語は禁止で。
一例として

import hello
import good

こんな感じでautostart.pyみたいなのを書きます

●バッチファイル、シェルスクリプトで連続実行
簡単で楽な方法はバッチファイルかシェルスクリプトに書きます。

python (ファイル名1.py)
python (ファイル名2.py)

というふうに普通にコマンドを並べていきます。
JupyterNotebookの場合は

jupyter execute (ファイル名1.ipynb)
jupyter execute (ファイル名2.ipynb)

もしくは

jupyter nbconvert --to notebook --execute (ファイル名1.ipynb)
jupyter nbconvert --to notebook --execute (ファイル名2.ipynb)


で記載します。
タスクスケジューラーやCrontabなどで自動実行すると便利です。

●一行コマンドで自動実行
PowerShellの場合は;
コマンドプロンプトの場合は&&で連続実行します。
一例ですが、

PowerShell
python (ファイル名1.py) ; python (ファイル名2.py) ; python (ファイル名3.py)
コマンドプロンプト
python (ファイル名1.py) && python (ファイル名2.py) && python (ファイル名3.py)

PowerShell
jupyter nbconvert --to notebook --execute (ファイル名1.ipynb) ; jupyter nbconvert --to notebook --execute (ファイル名2.ipynb) ; jupyter nbconvert --to notebook --execute (ファイル名3.ipynb)
コマンドプロンプト
jupyter nbconvert --to notebook --execute (ファイル名1.ipynb) && jupyter nbconvert --to notebook --execute (ファイル名1.ipynb) && jupyter nbconvert --to notebook --execute (ファイル名1.ipynb)


Linuxでも同じ様な感じですね


●並列実行
PowerShellの場合はforeachに「-parallel」を使う方法
こちらをご参考に


PowerShellで並列実行する方法


シェルスクリプトで行う場合はこちらを参考に

シェルスクリプトで単純に並列実行・直列実行を行う



●まとめ
簡単なんですが、思いつかない方法です。
ぜひお試しあれ
posted by kapper at 06:25 | Comment(0) | Python
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

にほんブログ村 IT技術ブログへ
にほんブログ村

Linux ブログランキングへ