选项错误:optparse.py无效操作:

2024-09-28 03:11:47 发布

您现在位置:Python中文网/ 问答频道 /正文

你好,当我试图在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

有人知道我为什么总是

^{pr2}$

我认为-c可能是一个常见的选项或其他东西,但即使我改变了它仍然不起作用:(


Tags: thestoreipaddfalsedefaultparserport
1条回答
网友
1楼 · 发布于 2024-09-28 03:11:47

write_memread_memcancel_mem不是action关键字的有效值;请参见Standard option actions,了解有哪些可用。在

然而,目前还不清楚这些选项对的作用。您将目标指定为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")

相关问题 更多 >

    热门问题