Форум сайта python.su
0
Как проверить при запуске скрипта из команд строки с параметрами (напр >python tre.py 1 2 3)
Что были введены числа.
Использую isdigit(), но для float чисел он не подходит.
Офлайн
0
s = '1.2'
try:
f = float(s)
except ValueError:
print('если s не число')
Офлайн
0
isinstance(<переменная>,<тип переменной>)
Офлайн
0
tobbхорошо, это будет работать только с флоат.s = '1.2'
try:
f = float(s)
except ValueError:
print('если s не число')
Офлайн
1
у вас же есть список, так пробегите по нему в цикле и проверьте на условия какие вам нужны.
Офлайн
253
Этот вопрос только что обсуждался http://python.su/forum/viewtopic.php?id=11065
Перед тем как проверять вам надо определится что такое число и что такое строка (например \u043c это строка или число? 0x11 - число? 22 это плавающее число или целое? Ну и так далее).
Возможная альтернатива - не командная строка - а конфиг файл там порядку будет побольше.
Для командной строки принято пользоваться модулями argparse или optparse
http://docs.python.org/library/argparse.html
Отредактировано (Апрель 17, 2011 10:32:33)
Офлайн
0
esalПример кода который я привел с целыми числами тоже работает. Вообще если у тебя сложности с обработкой параметром попробуй модуль argparse.
хорошо, это будет работать только с флоат.
А если вот тут sys.argv находятся числа 3 4.2 s
То есть int float и str
Каким образом получить цифры и указать на наличие str среди значений
Офлайн