我有以下程序声明(program1.py)
我有一个程序1:
try:
except:
我有另一个程序2(program2.py):
def something:
print hello
有没有办法将程序1导入程序2,程序1包含程序2,所以程序应该是
try:
def something:
print hello # all program 2 components
except:
我对如何做到这一点很困惑,任何指针都会受到赞赏
答案 0 :(得分:0)
在program1.py中,您需要调用something
函数。因此,它会将新函数(通过函数调用)包装到try-except块中。我建议,您从网上基本信息中了解模块间程序流程处理。您不能将其视为简单的解析,而应将其视为函数调用。
HTH。
以下链接将帮助您理解。
Modules in python and integration.
Similar stackoverflow question
答案 1 :(得分:0)
您可以使用导入
program1.py:
from program2 import something
try:
something()
exception:
# Some more code
program2.py:
def something:
print 'Hello, World!'
答案 2 :(得分:0)
我建议的方式是装饰者:
def tryit(fn):
def wraps(*args, **kwargs):
try:
fn(*args, **kwargs)
except Exception, e:
print e
return wraps
def doStuff(x, y):
return x / y
@tryit
def main(arg1, arg2):
print doStuff(arg1, arg2)
if __name__ == "__main__":
main(1, 10.0)
main(100, 0)
<强>输出强>
0.1
integer division or modulo by zero
你的逻辑可能需要重新设计,但我认为最终还是值得的。
答案 3 :(得分:0)
program2.py
:
from contextlib import contextmanager
@contextmanager
def tryer():
try:
yield # code within with statement runs here
except:
print "Failed!
program1.py
:
from program2 import tryer
with tryer():
print 'Hello, World!'