命令行参数

Go语言标准库flag基本使用

放肆的年华 提交于 2019-12-02 06:51:48
Go语言标准库flag基本使用 Go语言内置的 flag 包实现了命令行参数的解析, flag 包使得开发命令行工具更为简单。 os.Args 如果你只是简单的想要获取命令行参数,可以像下面的代码示例一样使用 os.Args 来获取命令行参数。 package main import ( "fmt" "os" ) //os.Args demo func main() { //os.Args是一个[]string if len(os.Args) > 0 { for index, arg := range os.Args { fmt.Printf("args[%d]=%v\n", index, arg) } } } 将上面的代码执行 go build -o "args_demo" 编译之后,执行: $ ./args_demo a b c d args[0]=./args_demo args[1]=a args[2]=b args[3]=c args[4]=d os.Args 是一个存储命令行参数的字符串切片,它的第一个元素是执行文件的名称。 flag包基本使用 本文介绍了flag包的常用函数和基本用法,更详细的内容请查看 官方文档 。 导入flag包 import flag flag参数类型 flag包支持的命令行参数类型有 bool 、 int 、 int64 、 uint 、

golang学习笔记 --flag

做~自己de王妃 提交于 2019-12-01 23:49:54
概述 flag包提供了一系列解析命令行参数的功能接口 命令行语法 命令行语法主要有以下几种形式 -flag //只支持bool类型 -flag=x -flag x //只支持非bool类型 以上语法对于一个或两个‘-’号,效果是一样的,但是要注意对于第三种情况,只支持非bool类型,原因是碰到如下情况时 cmd -x * *为0,false有可能表示一个文件名或文件,也有可能表示x标签的值为0或false,会产生二义性,因此规定第三种只支持非bool类型。对于整形flag,合法的值可以为 1234 , 0664 , 0x1234 或负数等。对于布尔型flag,可以为 1 , 0 , t , f , T , F , true , false , TRUE , FALSE , True , False 等 命令行参数解析方法 使用flag主要包括以下几步 定义flag参数,有三种方式 通过 flag.String(), Bool(), Int() 等 flag.Xxx() 方法,该种方式返回一个相应的指针 import "flag" var ip = flag.Int("flagname", 1234, "help message for flagname") 通过 flag.XxxVar() 方法将flag绑定到一个变量,该种方式返回值类型,如 var flagvar int

linux commands - 一次性解压多个tar.gz文件

扶醉桌前 提交于 2019-12-01 10:28:24
1 echo *.tar.gz | xargs -n 1 tar -zxvf list所有tar.gz文件,然后利用xargs将其作为参数传给tar命令。-n 1表示每次传一个参数。 xargs: https://www.cnblogs.com/wangqiguo/p/6464234.html 阅读目录 为什么要用xargs,问题的来源 xargs是什么,与管道有什么不同 xargs的一些有用的选项 回到顶部 为什么要用xargs,问题的来源 在工作中经常会接触到xargs命令,特别是在别人写的脚本里面也经常会遇到,但是却很容易与管道搞混淆,本篇会详细讲解到底什么是xargs命令,为什么要用xargs命令以及与管道的区别。为什么要用xargs呢,我们知道,linux命令可以从两个地方读取要处理的内容,一个是通过命令行参数,一个是标准输入。例如cat、grep就是这样的命令,举个例子: 1 echo 'main' | cat test .cpp 这种情况下cat会输出test.cpp的内容,而不是'main'字符串,如果test.cpp不存在则cat命令报告该文件不存在,并不会尝试从标准输入中读取。echo 'main' | 会通过管道将 echo 的标准输出(也就是字符串'main')导入到 cat 的标准输入,也就是说此时cat的标准输入中是有内容的,其内容就是字符串'main

go的命令行参数

99封情书 提交于 2019-12-01 09:04:29
package main import (   "fmt"   "os" ) func main() {   var s, sep string   for i := 1; i < len(os.Args); i++ {     s += sep + os.Args[i]     sep = " "   }   fmt.Println(s) } var声明定义了两个string类型的变量s和sep。变量会在声明时直接初始化。如果变量没有显式初始化,则被隐式地赋予其类型的零值(zero value),数值类型是0,字符串类型是空字符串""。 表示连接字符串sep和os.Args。程序中使用的语 s += sep + os.Args[i] 是一条赋值语句, 将s的旧值跟sep与os.Args[i]连接后赋值回s,等价 s = s + sep + os.Args[i] 循环索引变量i在for循环的第一部分中定义。符号 := 是短变量声明(short variabledeclaration)的一部分, 这是定义一个或多个变量并根据它们的初始值为这些变量赋予适当类型的语句。 自增语句 i++ 给 i 加1;这和 i += 1 以及 i = i + 1 都是等价的。对应的还有 i-- 给 i 减1。它们是语句,而不像C系的其它语言那样是表达式。所以 j = i++ 非法,而且++和-

getopt-解析命令行参数

流过昼夜 提交于 2019-12-01 07:52:16
getopt 模块用于解析 sys中的命令行参数。支持unix的 getopt() 函数的功能,并且提供了一个函数 getopt(args,options[,long_options]) 解析命令行参数,要去掉开头的运行程序引用。所以通常将args赋值为 sys.argv[1:] 。options参数可以跟一串字母,每个字母表示一个选项,含有后续值的选项后面加个冒号。 long_options,格式是字符串列表,选项名中不需要包含前导的"--"。长选项需要在参数后附带"=",然后跟一个值。如果只希望接受长选项,可以把options设置成空字符串。长选项会尽可能长的识别, 返回值两个元素:一个(option,value)列表,剩余的未解析参数。每个(option,value)对返回时,选项名包含前导的"-"或"--",选项参数作为第二个参数,或者为空字符串。它们在返回列表中出现的顺序与在命令行出现的顺序相同。长短选项混合。 更多技术资讯可关注:gzicast 来源: https://www.cnblogs.com/heimaguangzhou/p/11670725.html

[笔记] 命令行参数 int main(int argc,char *argv[])

北城余情 提交于 2019-11-30 23:11:57
1 int main(int argc,char *argv[]) // argument count 变量个数 argument values 变量值 C程序的main函数有两个形参* argc:整数,用来统计运行程序时传给main函数的命令行参数的个数. 程序名本身也是一个参数,所有argc不会小于1.   argv: 命令行参数字符型指针数组的首地址    argv 形参是一个指针数组,这些指针指向表示程序实参的以 null 结尾的字符串。   该数组的每个元素指向传递给 main的参数的 字符串表示形式 。   argv 参数可以声明为指向类型 char ( char *argv[] ) 的指针数组,或者声明为一个指针(指向指向类型 char ( char **argv ) 的多个指针)。   * argv:字符串数组,用来存放指向你的字符串参数的指针数组,每一个元素指向一个参数     argv[0] 指向程序运行的全路径名        argv[1] 指向在DOS命令行中执行程序名后的第一个字符串        argv[2] 指向执行程序名后的第二个字符串   ...     argv[argc]为NULL。 //内存分配中最后一 NULL结尾   argc是系统管理的,就是说main并不是真正的程序入口,还有一个函数条用它,根据你输入的参数数量设置这个变量.  

python optparse命令行参数捕捉解析

北城以北 提交于 2019-11-30 19:24:01
需求: 有时候我们需要在命令行启动脚本时需要指定这个脚本的一些参数,简单举例,例如 python start.py -n kitty -s fly abc bde 脚本文件后面的-n kitty -s fly abc bde参数如何在脚本当中取到呢,这时候就需要使用optparse模块了 首先,我们需要创建一个OptionParser的对象 from optparse import OptionParser op=OptionParser() 然后,我们需要用到add_option方法绑定参数,参数绑定后,用op.parse_args方法解析,得到两个变量,options为已经绑定的参数,args是除了绑定的参数之外的参数,统一存放在args中 op.add_option('-n','--name',dest='name') op.add_option('-s','--skill',dest='skill')options,args=op.parse_args()print(options,args) 绑定完了之后,我们在命令行模式下输入命令 命令行下输入:python test.py -n kitty -s fly abc bde 输出:{'name': 'kitty', 'skill': 'fly'} ['abc', 'bde'] #参数看似已经捕捉到了

Python之命令行参数

眉间皱痕 提交于 2019-11-30 16:14:20
命令行参数 很多程序可以执行一些操作来查看一些基本信息,Python 可以使用 -h 参数查看各参数帮助信息: $ python -h usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ... Options and arguments (and corresponding environment variables): -c cmd : program passed in as string (terminates option list) -d : debug output from parser (also PYTHONDEBUG=x) -E : ignore environment variables (such as PYTHONPATH) -h : print this help message and exit [ etc. ] Python 提供了 getopt 模块来获取命令行参数。 $ python test.py arg1 arg2 arg3 Python 中也可以所用 sys 的 sys.argv 来获取命令行参数: sys.argv 是命令行参数列表。 len(sys.argv) 是命令行参数个数。 注: sys.argv[0] 表示脚本名。 实例 test.py 文件代码如下: #

cocos2dx 3.x win7+VS2012开发环境搭建及HelloWorld

泪湿孤枕 提交于 2019-11-30 12:53:50
1. 准备工作 (1)VS2012 (2)cocos2dx cn.cocos2d-x.org/download (3)python 新版本的cocos2dx 需要python编译 2. 安装软件 (1)VS2012 从官网下载并安装 (2)python 安装:下载地址: www.python.org/download/ (3)cocos2dx 安装 ① 解压下载的cocos2dx ,我下载的版本cocos2dx 3.2 ②然后进入D:\cocosDevelop\cocos2d-x-3.2\cocos2d-x-3.2\build,打开cocos2d-win32.vs2012.sln文件,将cpp-tests设为启动项(右击cpp-tests,设置为项目启动项),点击run。 ③编译工作完成后就能看到,官方的demo。 3.HelloWorld (1)创建新项目命令cocos 使用cmd作为你的shell:进入D:\cocosDevelop\cocos2d-x-3.2\cocos2d-x-3.2\tools\cocos2d-console\bin,然后执行类似的命令:cocos.py new YourGameTitle -p com.yourcompany.gametitle -l cpp -d C:\YourGameTitle 。 当然不想每次都这么麻烦,想要直接使用cocos命令

WebRTC-命令行参数解析

风流意气都作罢 提交于 2019-11-30 12:21:34
一、 功能介绍 webrtc中命令行参数解析功能由 rtc_base/flags.h 中的 Flag 类和 FlagList 类提供。使用起来比较简单,支持参数中含有空格等。可以看成google开源的 gflags 的轻量版. 支持的命令行语法为: The following syntax for flags is accepted (both '-' and '--' are ok): --flag ( bool flags only) --noflag ( bool flags only) --flag= value (non- bool flags only, no spaces around '=' ) --flag value (non- bool flags only) 二、使用方法 2.1 引入到工程 引入 flags.h 和 flags.cc 文件到工程,定义 WEBRTC_WIN 宏即可。 2.2 定义参数 新建 flagsdef.h : #pragma once #include "rtc_base/flags.h" DECLARE_bool(help); DECLARE_string(ip); DECLARE_int(port); DECLARE_string(path); 新建 flagsdef.cpp : #include "flagsdef.h"