Вопрос: где и как использовать try/except
и if/else
операторов?Правильный способ использования функции в Python?
Для примера - у меня есть функция:
# copy php.cgi script
def cpcgi(src, dst):
try:
shutil.copy(src, dst)
if os.path.isfile(dst + '/php.cgi'):
return True
except:
print 'Something going wrong!'
функции, хранящийся в отдельном файле. Далее из сценария вызывается как:
import createvhostFuncts as fun
print 'Copying php.cgi file...'
if fun.cpcgi(vdir + 'php-cgi/php.cgi', (vdir + 'php-cgi/' + username + '/' + domain)):
print 'Done.\n'
else:
exit('Error! Exit now.\n')
Но - есть много функций в createvhostFuncts.py
. Таким образом, у меня есть большой список звонков if/else
в скрипте, и это выглядит очень ... Нечетно? Бесполезный?
Итак - какой правильный способ вызова функций и где лучше использовать try/except
- внутри функции или в скрипте?
UPD:
Например - в BASH я могу использовать somethig как следующий:
#!/usr/bin/env bash
func(){
echo "Ya!"
}
if func; then
echo $?
echo "Printed"
else
echo $?
echo "Can't echo!"
fi
И запустить его следующий результат:
$ ./m
Ya!
0
Printed
Или с ошибкой:
#!/usr/bin/env bash
func(){
eCCCcho "Ya!"
}
if func; then
echo $?
echo "Printed"
else
echo $?
echo "Can't echo!"
fi
$ ./m
./m: line 4: eCCCcho: command not found
127
Can't echo!
Я не 100% уверен, что я понимаю ваш вопрос. Вы задаете общий вопрос о правильном использовании блоков try/except в python или спросите, как вложить тесты? – user590028
Второй - правильный способ использования if/else (в зависимости от статуса выхода функции) и try/except.Как упоминал @bereal - в статусе выхода Python обычно не используется? (Я имею в виду - в bash я могу сделать> echo 'TEST' && echo 'Printed' || echo 'Can not echo!' // таким образом - там был статус завершения процесса 0 или 1) – setevoy