問題是 - 在哪裏以及如何使用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