如何从lin命令调用python脚本中的特定函数

2024-04-20 03:37:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我有几个关于java到python集成的问题

我有一个python脚本,它有2个或更多的函数。在

1)如何从命令行调用python脚本中的特定函数。在

2)如何从命令行向python脚本中的一个函数传递方法参数


Tags: 方法函数命令行脚本参数java
2条回答

另一种使用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()

这可以从命令行调用,如下所示:

^{pr2}$

可以使用argparse,例如:

if __name__ == '__main__':
    import argparse
    parser= argparse.ArgumentParser(description= 'test of parameters')
    parser.add_argument('-v', action= 'store_true', help= 'option one.')
    parser.add_argument('-p', dest= 'port', default=5, help= 'port number')
    parser.add_argument('command', default= None, nargs= '?', 
                   choices= ['auto', 'erase'], help= 'command to be executed')

    args= parser.parse_args()

    if args.command == 'auto':
        func1(args.port, args.v)

    elif args.command == 'erase':
        otherfunc(args.port)

检查here中的所有可用选项。在

然后从命令行调用代码:

^{pr2}$

或者

mycode.py erase -v -p 2

相关问题 更多 >