-3
我有幾個關於Java來Python集成如何使Python腳本特定函數的調用命令行
我有一個python腳本,它有2種或更多的功能的問題。
1)如何從命令行調用python腳本中的特定函數。
2)如何從傳遞命令行參數的方法在python腳本的功能之一
我有幾個關於Java來Python集成如何使Python腳本特定函數的調用命令行
我有一個python腳本,它有2種或更多的功能的問題。
1)如何從命令行調用python腳本中的特定函數。
2)如何從傳遞命令行參數的方法在python腳本的功能之一
可以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可用的所有選項。
然後調用命令行代碼:
mycode.py auto -p 12
或
mycode.py erase -v -p 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()
這可以從被稱爲像這樣的命令行:
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
爲什麼不直接創建一個調用相關函數並使用該腳本的新腳本? – arshajii
您是否使用'python -c「導入了某些東西;某些(..)」' – Greg