質問: Image.open(sys.argv[1]).convert('koch2.png') #画像ファイルkoch2.pngを読み込む のように書き換えたが、同じエラーが表示される。 ### 補足情報(FW/ツールのバージョンなど) 該当コードが書かれたpyファイルと読み込みたい画像ファイルを同じフォルダに保存し、anaconda promptでcdコマンドを使ってそのフォルダに移動してからpythonファイルを実行している
回答: ご質問のコードでは、コマンドライン引数で画像ファイルを指定していないことによるエラーが原因かと思われます。実行時にpython boxcount.py koch2.pngのようにpythonファイルに続けて、半角スペースを入れ画像ファイルの名前を指定すれば、大丈夫だと思います。 https://techacademy.jp/magazine/20629 sys.argv[0]には実行中のpythonファイル名が入っており、 sys.argv[1]以降にスクリプトに渡された引数が入ります。 例えば, python hoge.py hoge.pngとすれば、 sys.argv[1]ではhoge.pngが代入されます。 参考先のサイトでもそのような使い方をしています。 ``` > python boxcount.py koch.png > koch.box > cat koch.box 6.90775527898 3.17805383035 6.21460809842 4.06044301055 5.52146091786 4.91265488574 4.8283137373 5.74300318781 4.12713438505 6.6066501862 3.43398720449 7.48493028329 2.7080502011 8.38640090117 ```