python model

我有2个文件:
1、Process.py
2、test.py

Process.py代码

def Processor():
    if (begin() < 0):
        print 1
        # logger ('Error begin()')
    if (run() < 0):
        print 2
        # logger ('Error run()')
    if (is_end() < 0):
        print 3
        # logger ('Error is_end()')
    if (constant() < 0):
        print 4
        # logger ('Error constant()')

test.py代码

import Process

def begin():
    return 0

def run():
    # print tmp.get(timestamp)
    return 0

def is_end():
    return 0

def constant():
    return 0

if __name__ == '__main__':
    Process.Processor()

我预期的效果是Process.Processor()读取的begin/run/..是我test.py中定义的,但执行后报错

NameError: global name 'begin' is not defined

请教一下各位大神,如何实现我的预期效果?

添加一点描述:
我期望的情况是和luigi一样
自定义的run()可以用Luigi.run()来启动
这个要如何实现?

阅读 2k
1 个回答

你的函数定义在另1个模块里面,你都没有导入到Process模块中自然出现错误。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进