首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python getopts问题

Python getopts问题
EN

Stack Overflow用户
提问于 2018-02-05 01:07:00
回答 1查看 106关注 0票数 0
代码语言:javascript
复制
import pywaves as pw
import sys, getopt

amount = 0
receive = ''

try:
    options, remainder = getopt.getopt(
        sys.argv[1:],
        'r:a',
        ['receive',
         'amount',
         ])
except getopt.GetoptError as err:
    print('ERROR:', err)
    sys.exit(1)



for opt, arg in options:
    if opt in ('-a', '--amount'):
        amount = arg
    elif opt in ('-r', '--receive'):
        receive = arg
print('OPTIONS   :', options)




myAddress = pw.Address(privateKey='MYPRIVATEKEY')
otherAddress = pw.Address(receive)
myToken = pw.Asset('MYADDRESS')
myAmount = amount
myAddress.sendAsset(otherAddress, myToken, myAmount)

我试着运行上面的代码,似乎我的选项"a“没有被捕获。我该怎么做才能让它正常工作呢?

我运行以下命令行

代码语言:javascript
复制
python this.py -r 3PFPovgPu3aBWA1krU544tPDTFiHgpvu7q1 -a 150

它返回

代码语言:javascript
复制
('OPTIONS   :', [('-r', '3PFPovgPu3aBWA1krU544tPDTFiHgpvu7q1'), ('-a', '')])

我不确定为什么"a“值是空的。如何更改代码以使其正常工作?

EN

回答 1

Stack Overflow用户

发布于 2018-02-05 02:07:22

您需要在第二个参数'a‘后添加冒号。所以试一试

代码语言:javascript
复制
getopt.getopt(sys.argv[1:],'r:a:',['receive','amount'])

查看getopt的文档,这里说得很清楚:解析命令行选项和参数列表。args是要解析的参数列表,没有对正在运行的程序的前导引用。通常,这意味着sys.argv1:。是脚本想要识别的选项字母字符串,其中的选项需要一个参数后跟一个冒号options (':';即Unix getopt()使用的相同格式)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48610772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档