Я написал скрипт python, который принимает входные данные через модуль python optparse
. , и я принимаю ввод от sys.argv
.Optparse и sys.argv - Python
Когда я использую любой из них, программа работает правильно. Например:
python dperf.py -m 1 -c 2 -n 3
python dperf.py foobar
Однако, когда я даю ввод таким образом, это не происходит.
python dperf.py foobar -m 1 -c 2 -n 3
Есть ли ошибка в том, как я использую sys.argv
?
parser = optparse.OptionParser()
#migration
parser.add_option("-m", type="float", dest="migr")
#collection
parser.add_option("-c", type="float", dest="coll")
#num of lines to read
parser.add_option("-n", type="float", dest="fileread")
(options, args) = parser.parse_args()
ti = options.migr
colle = options.coll
linereadfiles = options.fileread
apps = sys.argv[1:]
Для новых разработок ознакомьтесь с ['argparse'] (http://docs.python.org/dev/library/argparse.html) с [' optparse'] (http: //docs.python .org/2/library/optparse) устарела. – Bryan