问题是 - 在哪里以及如何使用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%肯定我明白你的问题。你是否问了一个关于在Python中正确使用try/except块的常见问题,或者你是否在问如何嵌套测试? – user590028 2014-09-03 18:06:46
第二个 - 使用if/else(取决于函数退出状态)和try/except的正确方法。正如@bereal提到的 - 在Python退出状态中通常不会使用? (我的意思是 - 在bash中我可以这样做> echo'TEST'&& echo'打印'|| echo'Can not echo!'//因此 - 使用退出状态0或1) – setevoy 2014-09-03 18:13:49