ビルドする必要があるコードで発生した問題を回避しようとしています。私はPythonモジュールを持っているので、引数をインポートして渡すことができ、メインモジュールが解析する必要があります。私が与えられていることは次のようになります。if __name__ == '__main__' function call
#main.py
if __name__ == '__main__'
sys.argv[] #pass arguments if given and whatnot
Do stuff...
私は引数を取ることができmain()
機能を追加し、それらを解析し、そのようにそれらを渡すためにされて必要なもの:
#main.py with def main()
def main(args):
#parse args
return args
if __name__ == '__main__':
sys.argv[] #pass arguments if given and whatnot
main(sys.argv)
Do stuff...
要約すると、私はmain.pyをインポートし、main()
関数で解析された引数を渡して、返された情報をif __name_ == '__main_'
部分に渡す必要があります。
EDIT は私がやっているものを明確にすることも
#hello_main.py
import main.py
print(main.main("Hello, main"))
私はまだこのよう名前を保存
$: python main.py "Hello, main"
を経由してシェルからmain.pyを呼び出すことができるようにしたい == メイン
私は何を求めていますか?私は、可能な限り、私が与えられたmain.pyモジュールを保存したいので、今日この問題を研究しているところで、より良いところを費やしています。呼び出すとき
# In a file called test.py
import main
import sys
... code
if __name__ == "__main__":
main.main(sys.argv)
... rest of your code
何を試しましたか?あなたはどんなエラーを出していますか?あなたの貴重な死の一日を、コードを実行することなくこの問題を「研究」していた一日を無駄にしなかったと教えてください。 –
'if __name__ == '__main __':'モジュールは_called_でインポートされていないときにのみ実行されます。 –
sys.argvで渡された引数を使って、 'if __name__ == '__ main __''で 'main'を呼び出すのは間違っていますか? –