-4

Java から Python への統合に関していくつか質問があります

Python スクリプトがあり、2 つ以上の関数があります。

1) コマンド ラインから Python スクリプトの特定の関数を呼び出す方法。

2)コマンドラインからPythonスクリプトの関数の1つにメソッドパラメーターを渡す方法

4

2 に答える 2

0

argparse を使用して猫の皮を剥ぐ別の方法:

import argparse

def func1(param1):
    print 'inside func1'
    print param1

def func2(param2):
    print 'inside func2'
    print param2

def main(param):
    print 'inside main'
    func1(param)
    func2(param)

parser = argparse.ArgumentParser(description="Perform some action.")

subparser = parser.add_subparsers(help="Run just one function.")

func1_parser = subparser.add_parser('func1', help="Run Function 1.")
func1_parser.add_argument('func1_param', type=func1,
                          help="Parameter for function 1")

func2_parser = subparser.add_parser('func2', help="Run Function 2.")
func2_parser.add_argument('func2_param', type=func2,
                          help='Parameter for Function 2')

main_parser = subparser.add_parser('main', help="Run the Main Function.")
main_parser.add_argument('param', type=main,
                         help="Run main function with value of -e.")

args = parser.parse_args()

これは、次のようにコマンド ラインから呼び出すことができます。

bash-4.1$ ./test.py -h
usage: test.py [-h] {func2,func1,main} ...

Perform some action.

positional arguments:
  {func2,func1,main}  Run just one function.
    func1             Run Function 1.
    func2             Run Function 2.
    main              Run the Main Function.

optional arguments:
  -h, --help          show this help message and exit

bash-4.1$ ./test.py main foo
inside main
inside func1
foo
inside func2
foo

bash-4.1$ ./test.py func1 foo
inside func1
foo

bash-4.1$ ./test.py func2 foo
inside func2
foo
于 2013-08-28T02:53:19.637 に答える