3

argparse から数値の文字列を取得しようとしています。引数 -n を指定するかどうかはオプションです。

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-n', nargs=1) # -n is optional but must come with one and only one argument
args = parser.parse_args()
test = args.n
if test != 'None':
    print("hi " + test) 

「-n引数」を指定しないとプログラムは失敗しますが、指定すると正常に動作します。

Traceback (most recent call last):
  File "parse_args_test.py", line 7, in <module>
    print("hi " + test) 
TypeError: Can't convert 'NoneType' object to str implicitly

どうすればこれを修正できますか?

4

3 に答える 3

1

None と比較する場合は「is」を使用します。次のようになります。

if test is not None:
    print("hi %s" % test) 
于 2013-03-13T19:09:31.100 に答える