0

我有以下程序语句(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:

我对如何做到这一点感到困惑,任何指针将不胜感激

4

4 回答 4

0

在program1.py中,需要调用该something函数。因此,它将新函数(通过函数调用)包装到 try-except 块中。我建议,你从网上的基本信息了解模块间程序流程处理。您不能将其视为简单的解析,而应将其视为函数调用。

HTH。

下面的链接将帮助您理解。
python中的模块和集成。
类似的stackoverflow问题

于 2012-11-06T07:43:08.453 回答
0

您可以使用导入

程序1.py:

from program2 import something
try:
    something()
exception:
    # Some more code

程序2.py:

def something:
    print 'Hello, World!'
于 2012-11-06T07:43:33.600 回答
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

你的逻辑可能需要重新设计,但我认为这最终是值得的。

于 2012-11-06T07:47:06.323 回答
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!'
于 2012-11-06T09:07:32.820 回答