1

有人知道我是否有一个one.py按以下方式编写的脚本:

if __name__ == '__main__':
    # Do something

我想main从另一个脚本中调用该函数。我该怎么做?

我想它会是这样的(假设这是launcher.py

# 'one' stands for import from `one.py` module
import one

if __name__ == '__main__':
    one.main()

唯一的问题是我不能这样打电话main()

这应该怎么做?

4

2 回答 2

8

定义你的脚本,如:

def main():
    # Do something

if __name__ == '__main__':
    # Processing of possible input parameters here and passing to main
    main()

然后你可以做

# 'one' stands for import from `one.py` module
import one

if __name__ == '__main__':
    one.main()

当然,您可以根据需要命名函数。

于 2010-12-16T17:31:28.770 回答
1
with file('a.py','rU') as f:
  co=compile(f.read(),'foobar','exec')
  exec co in {'__name__':'__main__'}
于 2010-12-16T17:42:21.863 回答