python程序环绕

时间:2012-11-06 07:38:28

标签: python python-2.7

我有以下程序声明(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 个答案:

答案 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!'