やりたいこと
ここでやりたいことは以下の2つです。- pythonファイルを実行したときの引数を受け取りたい
- .pyに別のファイルがドラッグアンドドロップされたときの引数を受け取りたい
起動時の引数を受け取る方法
起動時の引数を受け取るにはsys.argvを参照します。以下、サンプルコードです。
import sys
print(sys.argv)
input()
このpythonファイルに対して、以下のようにpythonファイルを実行します。
C:\test.py "これは引数です1" "これは引数です2"
このときのprint(sys.argv)の結果は以下のようになります。
['C:\\test.py', 'これは引数です1', 'これは引数です2']
起動時の引数を受け取れていることがわかりますね。
注意点としてはsys.argvの最初の要素は必ずpythonファイルのファイルパスとなります。
よって、引数を参照したい場合はsys.argv[1]から参照しましょう。
ファイルをドラッグアンドドロップしたときのパスを受け取る方法
ファイルをドラッグアンドドロップしたときのファイルパスを受け取るにはさきほどのsys.argvを参照するだけでOKです。さきほどのtest.pyファイルに「TestFile1.txt」と「TestFile2.txt」の2つのファイルをドラッグアンドドロップしたときの例を紹介します。
そのときのprint(sys.argv)の結果は以下のようになります。
['C:\\test.py', 'C:\\TestFile1.txt', 'C:\\TestFile2.txt']
ドラッグアンドドロップしたファイルのパスをsys.argvで受け取れていることがわかりますね。
さきほどと同様にsys.argvの最初の要素はpythonファイルのファイルパスになっているので注意しましょう。