この連載は、『PythonでMarkdownからEPUBをつくろう』を一部抜粋して編集したものです。
本編には、全てのソースコードや、生成する原稿のサンプルが付属しています。ぜひ、こちらもご購入ください。
姉妹版の『PythonとPygameで作る レトロ風RPG 全コード』もあります。
≫ 目次に戻る まずはプログラム用のディレクトリを作ります。次のような配置でgen-epub
ディレクトリーを作ります。また、gen-epub
の中に、main.py
というファイルを作成します。このmain.py
の中身は、この時点では空です。
doc/
01_md/
02_epub/
tool/
gen-epub/
main.py
VSCodeを起動します。そして、gen-epub
ディレクトリーをドロップします。そしてウィンドウ左側のExplorer(ファイルのツリー)からmain.py
を開きます。
Explorerが開いていない場合は、左端のアクティビティ バーから、一番上の「ファイルが2つ重なったアイコン」をクリックして開きます。
main.py
に次のようにプログラムを書きます。意味は「sys
(システム)を読み込んで、sys.argv
(プログラムの実行時引数)を、print
(出力)する」です。
1import sys
2
3print(sys.argv)
Ctrl+@
でターミナルを開きます。
カレント ディレクトリ(ターミナルの行の左に表示されているパス)がgen-epub
ディレクトリーのパスになっていることを確認してください。
そして、次のようにコマンドを入力して実行します。
python main.py --config "C:\~\doc_md\config.yaml" --epubcheck
python
コマンドは、Macでは適宜python3
コマンドに置き換えてください。
"C:\~\doc_md\config.yaml"
のところには、config.yaml
の実際のパスを書きます。パスの区切り文字は\
ではなく、/
でもよいです。相対パスでも構いません。そしてEnter
キーを押します。
すると次のような結果が表示されます。プログラムの実行時引数(python
コマンドのあとの情報)が、リストというデータ型で取得されて出力されました。
['main.py', '--config', 'C:\~\doc_md\config.yaml', '--epubcheck']
main.py
に書いたプログラムと、入力したコマンドの解説をします。
プログラムの1行目のimport sys
は、Python標準ライブラリーのsys
(システム)を読み込み、利用可能にするという処理です。
3行目のprint()
は、丸括弧内の情報を出力するという関数(命令)です。sys.argv
には、プログラムを実行した際の引数(受け渡された情報)が入っています。
実際に実行したコマンドはpython main.py --config "C:\~\doc_md\config.yaml" --epubcheck
です。
sys.argv
の中には、リストという形式で複数のデータが入っています。最初は「main.py
」、次は「--config
」、その次は「C:\~\doc_md\config.yaml
」、最後は「--epubcheck
」です。
コマンド実行時の引数は半角スペースで区切られます。ファイルパスなど、1つの引数内に半角スペースを含めたいときは"
(ダブルクォーテーション)で囲います。
最初のmain.py
は、Pythonが読み込んで実行するファイルの名前(あるいはパス)です。次以降が、Pythonのプログラム内で利用する値になります。
これから作るプログラムでは、設定ファイルのパスを--config "C:\~\doc_md\config.yaml"
という形で受け取ります。
また、EPUBファイルの確認をおこなう場合には--epubcheck
のフラグを付けます。確認をおこなわない場合は、このフラグを取り除き、python main.py --config "C:\~\doc_md\config.yaml"
のように書きます。
この連載は、『PythonでMarkdownからEPUBをつくろう』を一部抜粋して編集したものです。
本編には、全てのソースコードや、生成する原稿のサンプルが付属しています。ぜひ、こちらもご購入ください。
姉妹版の『PythonとPygameで作る レトロ風RPG 全コード』もあります。