はしくれエンジニアもどきのメモ

情報系技術・哲学・デザインなどの勉強メモ・備忘録です。

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