Найти - Пользователи
Полная версия: Проверка двух аргументов в raw_input
Начало » Python для новичков » Проверка двух аргументов в raw_input
1
avdoshkin
while True:
x = raw_input('Input SW and Port :')
if x == 'q': break
elif x == '': continue
res1 = chek_sw(x()[0])
if res1:
return True
else:
print 'Not found SW!!!'
как проверить в торой аргумент на int() если нет то вернуться continue?
o7412369815963
какой второй?
в коде ошибка: "chek_sw(x())" - x - переменная, а не ф-ия
avdoshkin
o7412369815963
какой второй?
в коде ошибка: "chek_sw(x())" - x - переменная, а не ф-ия
def add_multic_bind():
while True:
bind_mulic = raw_input('Input SW and Port :')
if bind_mulic == 'q': sys.exit()
elif bind_mulic == '': continue
elif bind_mulic == 'n': return
res1 = chek_sw(bind_mulic.split()[0])
if res1:
return True
else:
print 'Not found SW!!!'

def chek_sw(bind_mulic):
f11 = open('/home/bin/dlink.lst').readlines()
for line3 in f11:
if bind_mulic in line3:
if bind_mulic.split() == line3.split():
return line3
o7412369815963
if re.match(r'\d+$',str): print 'do it'
avdoshkin
Вернусь опять к своей теме:

как проверить по отдельности аргументы все понятно, а как получить результат если одно из условий не прошло вывести именно ту ошибку где условия не прошли и вернуть на продолжения ввода. А если два условия прошли то выполнить далее действия.
вот мой код:
def tt():
try:
while True:
line = raw_input('Input SW and Port :')
if line == 'q':
break
elif line == '':
continue
res = chek_sw(line.split()[0])
res1 = chek_ports(line.split()[1])
if (res,res1):
print 'Good!!!'
else:
print 'Not good!!!'
except Exception:
print 'Input 2 arguments'

def chek_sw(line):
f11 = open('/home/bin/dlink.lst').readlines()
for line3 in f11:
if line in line3:
if line.split() == line3.split():
return line3

def chek_ports(line):
if re.match(r'^\d+$',line):
return line
o7412369815963
while True:
...
if res and res1: break
else: print 'error parametrs'
doProcess()
o7412369815963
вместо эксепшена лучше проверить на кол-во параметров:
while 1:
prm = raw_input('Input SW and Port :').split()
if len(prm)!=2:
print 'Input 2 arguments'
continue
if chek_sw(prm[0]) and chek_ports(prm[1]): break
else: print 'error parametrs'
чет типа такого
avdoshkin
o7412369815963
вместо эксепшена лучше проверить на кол-во параметров:
while 1:
prm = raw_input('Input SW and Port :').split()
if len(prm)!=2:
print 'Input 2 arguments'
continue
if chek_sw(prm[0]) and chek_ports(prm[1]): break
else: print 'error parametrs'
чет типа такого
o7412369815963, Спасибо, за помощь!!!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB