1

ご挨拶 Python スクリプトに引数を配置しようとすると、エラーが発生します。ここに関数があります

from optparse import OptionParser

def getparams():
usage = "usage: %prog -d <dcb_ip> -p <port> "
parser = OptionParser(usage)
parser.add_option("-d", "--dcb_ip",
                  action="store",
                  dest="dcb_ip",
                  default="172.14.20.31",
                  help="Specifiy the IP address of the device, default is [%default].")
parser.add_option("-p", "--port",
                  action="store",
                  type="int",
                  dest="port",
                  default=51500,
                  help="Specify the pcl port of the monitor, default is [%default].")
parser.add_option("-i", "--interactive", action="store_true",  default=False, dest="interactive")
parser.add_option("-l", "--loop", action="store",  default=False, dest="loop")
parser.add_option("-w", "--write", action="write_mem",  default=False, dest="interactive")  #Write HART option
parser.add_option("-r", "--read", action="read_mem",  default=False, dest="interactive")
parser.add_option("-c", "--Cancel", action="cancel_mem",  default=False, dest="interactive")
(options, args) = parser.parse_args(sys.argv)    
return options

なぜ私が取得し続けるのか誰か知っていますか

Traceback (most recent call last):
  File "C:\Users\Documents\devices_15_JUL_2013\RSimulator.py", line 73, in getparams
    parser.add_option("-w", "--write", action="write_mem",  default=False)  #Write mem option
OptionError: option -w/--write: invalid action: 'write_mem''

-c は一般的なオプションか何かかもしれないと思いましたが、変更しても機能しませんでした:(

4

1 に答える 1

0

write_memread_memおよびキーワードcancel_memの有効な値ではありません。利用可能なものについては、標準オプション アクションactionを参照してください。

ただし、これらのオプションに何を期待するかは明確ではありません。宛先を として指定しましたinteractiveが、これは,オプションのブール値フラグとして既に使用されています。-i--interactive

_memオプションでこれらのそれぞれにブール値フラグを設定したい場合は、store_trueアクションを使用して設定します。

parser.add_option("-w", "--write", action="store_true", default=False, dest="write_mem")
parser.add_option("-r", "--read", action="store_true", default=False, dest="read_mem")
parser.add_option("-c", "--cancel", action="store_true", default=False, dest="cancel_mem")
于 2013-09-05T19:49:37.910 に答える