GOT以上用下面的代码的错误:当我尝试无效字面对于int()与底座10的Python
import optparse
import socket
from socket import *
from threading import *
def main():
parser =optparse.OptionParser('usage%prog -H <target host> -p <target port>')
parser.add_option('-p',dest='tgtPort',type='string',help='specific target port separated by comma')
(options, args) = parser.parse_args()
tgtPorts = str(options.tgtPort).split(', ')
for p in tgtPorts:
print int(p)
if __name__ == '__main__':
main()
以实现:
python testInt.py -p 20, 80
预期结果:
20 80
只是说'通过帮助文本你的论点comma'分离不作'argparse'实际治疗逗号分隔参数的方式你要。甚至在参数达到'argparse'之前,shell的命令行分割不能按照你想要的方式工作。 'tgtPort'是''20,''和'“80”'作为'args'的一个元素结束。 – user2357112
(哦,optparse,不是argparse,不过,optparse和shell的命令行拆分都不会做你想要的东西) – user2357112
'argparse'提供了一些可以帮助的工具,特别是如果你不想引用你的论点,但逗号分隔的论证处理将是尴尬的。炮弹是围绕空间分离而设计的。 – user2357112