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