Pythonの.pyファイルの関連付け[Windows]
Pythonの.pyファイルの関連付け[Windows]
Python .pyファイルの関連付けについてのメモ。
環境
.pyファイルの関連付け
Windows では、 .pyファイルの関連付けを行うことで、 pythonコマンドなしでも実行できる。
> python hoge.py
以下のように書いて実行できる。
> hoge.py
しかし、.pyファイルのプロパティから「プログラムの種類」から、 関連付けを行うと、引数を渡せない問題がある。
> hoge.py --option # 引数を渡せない。
また、Anaconda(Miniconda) でpython をインストールした場合、 手動で関連付けする必要がある。
コマンドプロンプトで、 assoc
, ftype
(コマンド)で設定することで引数も制御できる。
assocコマンド
まず、assoc
コマンドで 「ファイル拡張子(.py) にファイル・タイプを定義付ける」。 (コマンドプロンプトは管理者権限で実行しておく)
assoc
で、定義づけされている拡張子の一覧を見れる。
> assoc
...
.zip=WinRAR.ZIP
...
拡張子.py を「Python.File
」に定義づける。
> assoc .py=Python.File
定義付けられたかを確認する。
> assoc .py
.py=Python.File
ftypeコマンド
ftype
コマンドで、 定義づけされたファイルタイプをどのプログラムで実行するか定義する。
ftype
で、 定義づけされているファイルタイプの一覧を見れる。
> ftype
...
WinRAR.ZIP="C:\Program Files\WinRAR\WinRAR.exe" "%1"
...
ファイルタイプ「Python.File
」をpython.exe に定義づける。
また、最後の「%*
」で、引数を取ることができる。
> ftype Python.File="C:\Miniconda3\python.exe" "%1" %*
プログラムを定義できたかを確認する。
> ftype Python.File
Python.File="C:\Miniconda3\python.exe" "%1" %*
これで、.pyファイルに引数を渡して実行できる。
> hoge.py --option # ok
また、argsparse と組み合わせることで、 コマンドライクのプログラムが作れる。
> hoge.py -h
usage: hoge.py [-h]
optional arguments:
-h, --help show this help message and exit
参考リンク