PythonのWindows実行ファイル作成時に陥った罠
Pythonを用いてWindowsの実行ファイルを作成した際に、コマンドライン引数を用いて処理を行たかったが、その際に陥った罠について備忘として記録する。
コマンドライン引数
コマンドライン引数を用いたhelloworld
hello.py
import sys
str1 = sys.argv[1]
print(str1)
python test.py helloworld
>>> helloworld
pyinstallerを使って実行ファイル化
pyinstaller hello.py --onefile
hello.exeの実行
IndexError: list index out of range
原因は、コマンドラインを使用しないため、リストが作成できなかった。
解決方法
Input関数を使用
hello.py
str1 = input("please put something")
print(str1)
hello.pyの実行
>>>please put something
helloworld
## 結論
試行錯誤した結果、sysを用いてコマンドライン引数を取得することができなかったため、Input関数を使用することとした結果、うまく行った。
もし、Windowsの実行ファイルにて、コマンドライン引数を使用する方法をご存知の方がいらっしゃいましたら、是非ご教示いただければと存じます。