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 に答える