🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1748閲覧

PythonのArgumentParserにて複数の引数を設定した際、別の引数の型を受け取ってしまう

tmiura

総合スコア5

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/11/27 08:34

PythonのArgumentParserにて複数の引数を設定した際、別の引数の型を受け取ってしまう

Pythonでコマンドライン引数を受け取って画像をバッチ処理するシステムを作っています。
ArgumentParserで複数のコマンドライン引数を設定したのですが、以下のようなエラーが出ています。

発生している問題・エラーメッセージ

$ python main.py mvfrom "./img/raw" input_dir = "./patients" output_dir = "./output" ext=".tif" numfeature = 5000 usage: main.py [-h] [-wm] [-wc] mvfrom input_dir output_dir ext numfeature cropsize incsv main.py: error: argument cropsize: invalid int value: 'output_dir'

該当のソースコード

Python

1if __name__ == '__main__': 2 3 #argパート 4 parser = argparse.ArgumentParser() 5 parser.add_argument("mvfrom", help = "mvfikeのinput imageディレクトリ指定。例:./img/raw", type = str) 6 parser.add_argument("input_dir", help = "mvfileのoutput imageを書き込むディレクトリ、およびmainのinputとなるディレクトリ", type = str, default = "./patients") 7 parser.add_argument("output_dir", help = "mainのoutputとなるディレクトリ", type = str, default = "./output") 8 parser.add_argument("ext", help = "input imageの拡張子", type = str, default = ".tif") 9 10 parser.add_argument("numfeature", help = "orbに用いる特徴点数", type = str, default = 5000) 11 parser.add_argument("-wm", "--wmove", help = "画像をmoveするかどうか", action = "store_true") 12 parser.add_argument("-wc", "--wcrop", help = "画像をcropするかどうか", action = "store_true") 13 14 args = parser.parse_args()

試したこと

検証方法がNo ideaでお手上げ状態だったため、何も対処できていません。

補足情報(FW/ツールのバージョンなど)

anaconda version 1.7.2

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

コマンドライン引数の指定方法に問題があります。
位置引数であれば、<引数名>=<値> ではなく、<値>だけ渡します。

python

1> python main.py "./img/raw" "./patients" "./output" ".tif" 5000

投稿2019/11/27 08:49

tiitoi

総合スコア21956

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tmiura

2019/11/27 09:52

無事解決できました。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問