在写pipeline的时候,经常把python和R程序都整合进bash脚本里,这样比较方便,python和R怎么解析命令行参数的呢?
- python的命令行解析方法
python最常用的命令行参数主要有两个:sys.argv和argparse.ArgumentParser.
1.1. sys.argv sys模块中的argv是一种常用方法,用法如下图所示:
image运行 python greet.py gouzi daming 得到:
image这里argv[1]指的是第一个参数,argv[2]是第二个。而argv[0]则是指的这个python程序,即greet.py。
如果这里只提供了一个参数的话,则会因为没有argv[2]而报错:
1.2 argparse
argparse是现在解析命令行参数的一个模块,比原来的optparse更加方便。主要使用方法如下:
image通过add_argument来添加参数,required可选必须参数和非必须参数。这里添加了一个必须参数name和一个非必须参数name2。
输入python greet2.py -name gouzi -name2 daming 则返回:
image.png输入python greet2.py -name gouzi 则返回:
image.png- R中的命令行参数解析方法
R中的命令行参数解析主要用commandArgs()。如下图所示:
image运行Rscript greet.R gouzi 得到:
image这里实际上第6位置才是咱们给的参数,如果要想让第一个位置是咱们的参数的话需要加一个trailingOnly=TRUE即可。
image欢迎关注公众号生信编程日常~
生信编程日常
网友评论