Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 16, 2011 22:45:29

esal
От:
Зарегистрирован: 2010-10-20
Сообщения: 42
Репутация: +  0  -
Профиль   Отправить e-mail  

проверка на числа при запуске скрипта из команд строки

Как проверить при запуске скрипта из команд строки с параметрами (напр >python tre.py 1 2 3)
Что были введены числа.
Использую isdigit(), но для float чисел он не подходит.



Офлайн

#2 Апрель 16, 2011 23:30:07

tobb
От:
Зарегистрирован: 2011-04-09
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

проверка на числа при запуске скрипта из команд строки

s = '1.2'
try:
f = float(s)
except ValueError:
print('если s не число')



Офлайн

#3 Апрель 16, 2011 23:42:54

minotavr_x86
От:
Зарегистрирован: 2010-05-21
Сообщения: 69
Репутация: +  0  -
Профиль   Отправить e-mail  

проверка на числа при запуске скрипта из команд строки

isinstance(<переменная>,<тип переменной>)



Офлайн

#4 Апрель 17, 2011 09:07:47

esal
От:
Зарегистрирован: 2010-10-20
Сообщения: 42
Репутация: +  0  -
Профиль   Отправить e-mail  

проверка на числа при запуске скрипта из команд строки

tobb
s = '1.2'
try:
f = float(s)
except ValueError:
print('если s не число')
хорошо, это будет работать только с флоат.
А если вот тут sys.argv находятся числа 3 4.2 s
То есть int float и str
Каким образом получить цифры и указать на наличие str среди значений



Офлайн

#5 Апрель 17, 2011 09:49:55

apologize828
От:
Зарегистрирован: 2010-02-13
Сообщения: 223
Репутация: +  1  -
Профиль   Отправить e-mail  

проверка на числа при запуске скрипта из команд строки

у вас же есть список, так пробегите по нему в цикле и проверьте на условия какие вам нужны.



Офлайн

#6 Апрель 17, 2011 10:22:05

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

проверка на числа при запуске скрипта из команд строки

Этот вопрос только что обсуждался 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)

Офлайн

#7 Апрель 17, 2011 10:47:49

tobb
От:
Зарегистрирован: 2011-04-09
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

проверка на числа при запуске скрипта из команд строки

esal
хорошо, это будет работать только с флоат.
А если вот тут sys.argv находятся числа 3 4.2 s
То есть int float и str
Каким образом получить цифры и указать на наличие str среди значений
Пример кода который я привел с целыми числами тоже работает. Вообще если у тебя сложности с обработкой параметром попробуй модуль argparse.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version