导航:首页 > 程序命令 > 解析命令行参数

解析命令行参数

发布时间:2022-09-15 00:00:27

A. 【R基础】R脚本解析命令行参数

#!/usr/bin/Rscript or #!/home/kcao/anaconda3/bin/Rscript

R接受命令的参数有三个常见的方法commandArgs()、getopt()、OptionParser()

其中第一个是R自带的函数,后面两个分别来自包getopt和optparse。

这是个R的 内置命令 ,和perl的@ARGV或者和python的sys.argv类似,就是将来自于命令的参数存入向量(数组)中。但是与perl和python的不同,它的前面几个元素不是命令行的参数,先尝试打印一下这个参数是怎样的。

对于参数的位置是可变的,在 R所在路径 R脚本的路径 这两个参数之间是Rscript的参数,这些参数的数量是 可变的. 输入的参数是从第 6 个开始

这样一来就会导致R脚本的参数的索引不固定,针对这种情况,你也可以添加一个参数来削掉R脚本参数之前的参数了。

Python模块学习——optparse

使用之前安装包

其中的方法OptionParser()的用法为:其中最重要的参数是option_list,这个参数接受一个列表,这个列表是被用来描述命令参数的解析方式的。

运行脚本,查看帮助信息:

查看默认参数:

提供参数值:

B. python2.7 怎么解析命令行输入的中文参数

本文实例讲述了python读取命令行参数的方法。分享给大家供大家参考。具体分析如下:
如果想对python脚本传参数,python中对应的argc, argv(c语言的命令行参数)是什么呢?
需要模块:sys
参数个数:len(sys.argv)
脚本名: sys.argv[0]
参数1: sys.argv[1]
参数2: sys.argv[2]
test.py:
import sys
print "脚本名:", sys.argv[0]
for i in range(1, len(sys.argv)):
print "参数", i, sys.argv[i]
>>>python test.py hello world

脚本名:test.py
参数 1 hello
参数 2 world
python中使用命令行选项:
例如我们需要一个convert.py脚本。它的作用是处理一个文件,并将处理后的结果输出到另一个文件中。
要求该脚本满足以下条件:
1.通过-i -o选项来区别参数是输入文件还是输出文件.
>>> python convert.py -i inputfile -o outputfile
2.当不知道convert.py需要哪些参数时,用-h打印出帮助信息
>>> python convert.py -h
getopt函数原形:
getopt.getopt(args, options[, long_options])
convert.py:
import sys, getopt
opts, args = getopt.getopt(sys.argv[1:], "hi:o:")
input_file=""
output_file=""
for op, value in opts:
if op == "-i":
input_file = value
elif op == "-o":
output_file = value
elif op == "-h":
usage()
sys.exit()

代码解释:
a) sys.argv[1:]为要处理的参数列表,sys.argv[0]为脚本名,所以用sys.argv[1:]过滤掉脚本名。
b) "hi:o:": 当一个选项只是表示开关状态时,即后面不带附加参数时,在分析串中写入选项字符。当选项后面是带一个附加参数时,在分析串中写入选项字符同时后面加一个":"号。所以"hi:o:"就表示"h"是一个开关选项;"i:"和"o:"则表示后面应该带一个参数。
c) 调用getopt函数。函数返回两个列表:opts和args。opts为分析出的格式信息。args为不属于格式信息的剩余的命令行参数。opts是一个两元组的列表。每个元素为:(选项串,附加参数)。如果没有附加参数则为空串''。
getopt函数的第三个参数[, long_options]为可选的长选项参数,上面例子中的都为短选项(如-i -o)
长选项格式举例:
--version
--file=error.txt
让一个脚本同时支持短选项和长选项
getopt.getopt(sys.argv[1:], "hi:o:", ["version", "file="])
希望本文所述对大家的Python程序设计有所帮助。

C. python程序使用()模块解析命名的命令行参数

摘要 亲您好,很高兴为您解答,由于是标准库,所以不需要安装,直接使用:

D. 2、cmd命令行参数解析

gojvm目录
1、搭建go环境
2、cmd命令行参数解析
3、搜索class文件
4、添加testOption 便于单元测试
5、解析classfile文件
6、运行时数据区
7、指令集
8、解释器
9、创建Class
10、类加载器
11、对象实例化new object
12、方法调用和返回
13 类初始化
14、jvm支持数组
15、jvm支持字符串-数组扩展
16、本地方法调用
17、ClassLoader原理
18、异常处理
19、 启动jvm

cmd.go

main.go

测试命令 run.sh

go命令

https://github.com/yinlingchaoliu/jvmgo.git
提交标签 "cmd"

E. Python语言命令行参数解析接收参数执行脚本的三种方法

在Windows系统上,Python脚本文件当然双击就能直接运行。不过我们往往需要在执行脚本的时候还要添加相应的参数,另外在Ubuntu系统中,我们执行文件往往和其他系统或用户命令一样,需要在终端中输入,参数当然也要一并加上。所以机智客这里说的意思是,执行Python脚本(.py文件)时候需要输入相应参数,这样程序怎么写的方法。

上面这么说可能有点不明不白的,或者有朋友会用但未必知道命令行解析这种表达方式。举个例子,比如我们在执行一个脚本文件的时候,可能会在CMD或者终端中输入python demo.py 10或者python demo.py --separator 10后面这个数字就是参数。我们要编写这样的脚本或者函数,有哪些方法呢?这里列举三种常用的。

一个是用系统模块sys。引入模块语句是import sys。也就是Python语言的内置库中的sys.argv。argv通常有argv[0],argv[1],argv[2]这样几个参数。基本使用方法是m_sil_len = int(sys.argv[1])传入第一个参数,sil_th = int(sys.argv[2])传入第二个参数。如果是简单一点的参数或者脚本,我们引入了sys。可以直接用这个传入参数。

一种是用模块argparse来实现,这是标准库中推荐的命令行解析模块。引入模块语句是import argparse。基本使用方法是引入模块后,先parser = argparse.ArgumentParser()创建对象,然后调用方法添加参数parser.add_argument("jzk", help="这是关于参数的说明", type=int),之后args = parser.parse_args()使用解析就可以用了。机智客看到这个方法在很多项目脚本中使用。我们在阅读机器学习AI之类的开源项目,就会发现很多人用的都是这个方法。

还有一个就是用fire模块,用于生成命令行界面的工具。引入模块语言是import fire。它默认以-为参数分隔符的。基本使用方法是fire.Fire()。这个不仅可以做命令行的参数解析,还可以还给一个类class添加命令行。所以使用时候括号里填入函数名或者类名即可,也就是里面的参数可以是其他Python对象。

F. 如何在Windows程序中解析命令行参数,win下的getopt

往往我们在安装Windows 98时,通常会在命令行状态下输入Setup命令进行安装,然后运行Scandisk、扫描磁盘、制作启动盘、安装版本说明等过程,如果打算要Windows快些安装,可以在使用Setup命令的时候,使用一些参数,从而达到快速安装Windows 98的目的。
Setup的参数主要包括以下几个参数: /t:tmp:指定存放临时文件的目录 /id:跳过磁盘空间检查 /ie:不制作启动盘 /ih:不检查注册表 /im:跳过内存检查 /is:不执行磁盘扫描 /iv:安装时不显示版本说明

我们想快速安装Windows 98,就可以输入命令:setup /id/ie/ih/im/is/iv,这样安装程序就会直接进入文件复制过程,从而省下了大量的安装时间。

G. 如何在C++中解析命令行参数

C++内的命令行参数储存在main函数中的argv参数中 而argc储存了命令行参数个数 由系统在执行时动态分配

实例:

#include<cstdio>
/*
*argc:命令行参数个数
*argv:储存了所有命令行参数,其中第一个(即argv[0])为当前可执行文件名
*/
intmain(intargc,char*argv[])
{
inti;
for(i=0;i<argc;i++)
if(argv[i]=="test")
puts("Foundargument'test'");
return0;
}

H. python2.7 怎么解析命令行输入的中文参数

RT,猜测需要先解码然后编码,但测试了一下一直报错,求解。
命令行:下载某网站上指定关键词的图书的信息
python downloadBook.py -n 红楼梦

报错信息:
UnicodeDecodeError: 'utf8' codec can't decode byte 0xbb in position 0: invalid start byte

代码,错误发生在第3行:

if __name__ == "__main__": if sys.argv[1] == "-n":
bookname = sys.argv[2]
bookUrls = collectUrls(bookname) for i in range(len(bookUrls)):
book = downloadBook(i, bookUrls[i])

很简单,utf8没法解码,你可以试试gbk,gb2312

I. 如何在Windows程序中解析命令行参数,win下的getopt

getopt在win32、64位环境下都是可以使用,只要包含stdlib.h,使用_argc,__argv两个参数即可,下面示例:
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
Test(__argc,__argv);
return 0;
}
上面的代码同样适用于BCB6。

J. java怎么解析命令行参数

用惯了控制台的java程序之后,最印象深刻的是其的简单与快捷,虽没有图形界面那样吸引人的眼球,但却也足以迷倒众生。那么java命令行参数有哪些呢?跟gkstk小编一起来学习吧!
控制台程序的运行少不了要通过控制台来传递参数,譬如:
Sh代码
ls -la
这是shell脚本的常用命令,其就是通过后置参数来传递相关信息。UNIX环境为C语言中提供了getopt()这样的函数可以解析后置参数,这个函数是很实用很强大的,但Java就...(我Google了一下,倒没有怎么找出来)。大概是这个功能对Java来说太不足挂齿了吧,但总得有个解决方法才行。
下面就是一个代码实例,用以说明。
这个实例运行的结果是运行在控制台,并允许可选的输入参数:
Sh代码
java TestOpt -i 89 -b -s TestString
那么就会设置几个prarameter的值
Java代码
public class TestOpt {
public static void main(String[] args) {
/*
* 这里先取默认值,因为不是所有参数都会被用户提供
*/
boolean prarameter1 = false;
int prarameter2 = 0;
String prarameter3 = "";
/*
* 设置一个offset变量,用来定位相关信息
*/
int optSetting = 0;
for (; optSetting < args.length; optSetting++) {
if ("-b".equals(args[optSetting])) {
prarameter1 = true;
} else if ("-i".equals(args[optSetting])) {
prarameter2 = Integer.parseInt(args[++optSetting]);
} else if ("-s".equals(args[optSetting])) {
prarameter3 = args[++optSetting];
}
}
/*
* 这里我只是打印出来相关的设置信息,具体的行为肯定是要自己取定义打
*/
System.out.println(prarameter1);
System.out.println(prarameter2);
System.out.println(prarameter3);
}
}
这种类似的方法估计应该有很多吧,但这个应该算是比较轻量级的。当然若参数非常多(同时也得进行验证输入)

阅读全文

与解析命令行参数相关的资料

热点内容
扭蛋人生安卓如何下载 浏览:712
什么app文档资源多好 浏览:919
黑马程序员APP 浏览:144
掌阅小说是哪个app 浏览:43
如何把u盘的软件安装到安卓机 浏览:992
php跑在什么服务器 浏览:122
编译器怎么跳转到下一行 浏览:450
嵌入式py编译器 浏览:324
rplayer下载安卓哪个文件夹 浏览:298
安卓手机里的电子狗怎么用 浏览:748
pythonspyder入门 浏览:764
趣质猫app是什么 浏览:60
皮带压缩机经常吸不上 浏览:205
西部随行版怎样加密 浏览:996
钉钉上如何压缩图片 浏览:924
cad输入命令不显示窗口 浏览:618
小米视频加密之后怎么看 浏览:76
超级程序员刘芳阅读 浏览:833
顾家九爷在哪个app 浏览:820
我的世界怎么在联机大厅做服务器 浏览:290