We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No pressure, no diamonds.
sys
sys.argv
python
argv[0]
-c
argument
sys.argV[1:]
option
option argument
-f foo/-ffoo
-file foo/--file=foo
posititon argument
argparse
getopt
argparse.ArgumentParser()
ArgumentParser
Python
parse_args()
Namespace
class argparse.ArgumentParser(prog=None, usage=None, description=None, epilog=None, parents=[], formatter_class=argparse.HelpFormatter, prefix_chars='-', fromfile_prefix_chars=None, argument_default=None, conflict_handler='error', add_help=True) ArgumentParser 对象,所有的参数应该以关键字参数传递 prog 程序的名字(默认:sys.argv[0]) usage 描述程序用户的字符串(默认:从解析器的参数生成) description 参数帮助信息之前的文本(默认:空) epilog 参数帮助信息之后的文本 (默认:空) parents ArgumentParser对象的一个列表,这些对象的参数应该包括进去 formatter_class 定制化帮助信息的类 prefix_chars 可选参数的前缀字符集(默认:'-') fromfile_prefix_chars 额外的参数应该读取的文件的前缀字符集(默认:None) argument_default 参数的全局默认值(默认:None) conflict_handler 解决冲突的可选参数的策略(通常没有必要) add_help 给解析器添加-h/-help 选项(默认:True)
class argparse.ArgumentParser(prog=None, usage=None, description=None, epilog=None, parents=[], formatter_class=argparse.HelpFormatter, prefix_chars='-', fromfile_prefix_chars=None, argument_default=None, conflict_handler='error', add_help=True)
prog
sys.argv[0]
usage
description
epilog
parents
formatter_class
prefix_chars
fromfile_prefix_chars
argument_default
conflict_handler
add_help
-h/-help
ArgumentParser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest]) name or flags 选项字符串的名字或列表,例如 -foo或者-f,--foo action 在命令行遇到该参数时采取的基本动作类型,参数出发的动作 store 保存参数,默认 store_const 保存一个被定义为参数规格一部分的值(常量),而不是一个来自参数解析而来的值 store_ture/store_false 保存相应的布尔值 append 将值保存在一个列表中 append_const 将一个定义在参数规格中的值(常量)保存在一个列表中 count 参数出现的次数 version 打印程序版本信息 nargs 应该读取的命令行参数数目 const 某些action和nargs选项要求的常数值 default 如果命令行中没有出现该参数时的默认值,参数的默认值 type命令行参数应该被转换成的类型,把命令行输入的结果转换成设置的类型 choices 参数可允许的值是一个容器 required 该命令行选项是可以省略(只针对可选参数) help 参数的简短描述 metavar 参数在帮助信息的名字 dest 给parse_args()返回的对象要添加的属性名称 如果 dest=a,那么可以通过args.a访问该参数
ArgumentParser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])
name or flags
-foo
-f
--foo
action
store
store_const
store_ture/store_false
append
append_const
count
version
nargs
const
default
type
choices
required
help
metavar
dest
dest=a
args.a
ArgumentParser.parse_args(args=None, namespace=None) 将参数字符串转换成对象并设置成命名空间的属性,返回构成的命名空间 之前对add_argument()的调用完全决定了创建什么对象以及如何设置 默认情况下,参数字符串取自于sys.argv,并创建一个空的Namespace对象用于保存属性
ArgumentParser.parse_args(args=None, namespace=None)
add_argument()
from argparse import ArgumentParser # 创建解析对象 # description: 参数帮助信息之前的描述程序 # add_help: 默认是True,False就是禁用-h/-help parser = ArgumentParser(usage="This is Pyx.", description="This is a example program.") # 指定程序需要接受的命令参数 # 定位参数,执行程序时必选,否则会报错 parser.add_argument('echo', help='echo the string') # 可选参数,可选 parser.add_argument('--verbosity', help='increase output verbosity') parser.add_argument('--one', default=1, type=int, help="the first argument") parser.add_argument('--two', dest='aa', type=int, help="the second argument") parser.add_argument('--docs-dir', default="./", help="document directory") # 将可以识别和不可以识别的的命令参数放入 # args, remaining = parser.parser_known_args(args=None, namespace=None) args = parser.parse_args() print args print args.one # 如果已经添加了`dest`的话,那么就用后面带aa的作为对象属性 print args.aa print args.echo
运行返回: python argparse.py pyx --verbosity s --one 5 Namespace(aa=None, doce_dir='./', echo='pyx', one=5, verbosity='s') 5 None pyx
args, remaining = parser.parse_known_args(sys.argv)
ArgumentParser.parse_known_args(args=None, namespace=None)
namespace
ArgumentParser.add_argument()
ArgumentParser.parse_known_args()
BeeBeeto
Seebug
POC
The text was updated successfully, but these errors were encountered:
No branches or pull requests
0x01 Wooyun
0x02 爬虫实战一
sys
模块--系统相关的参数和函数sys.argv
传递给python
脚本的命令行参数列表argv[0]
是脚本的名称(是否是完整的路径名取决于操作系统),如果执行命令时解释器使用了-c
命令行选项,argv[0]
设置为字符串-c
,如果无脚本名称传递给python
解释器,argv[0]
是空字符串argument
命令行上的字符串,在python
中参数是sys.argV[1:]
,arg[0]是执行程序的名字option
选项option argument
选项的值,跟在选项后面,格式如-f foo/-ffoo
,-file foo/--file=foo
posititon argument
位置参数,选项被处理后剩下的参数argparse
模块--命令行解析(类似的模块有getopt
)argparse
模块使得编写用户友好的命令行接口飞车容易,程序只需定义好它要求的参数,然后argparse
将负责如何从sys.argv
中解析出这些参数,argparse
模块还会自动生成帮助和使用信息并且当用户赋给程序非法的参数时产生的错误信息argparse.ArgumentParser()
ArgumentParser
对象会保存把命令行解析成Python
数据类型所需要的所有信息ArgumentParser
添加程序的参数信息,这些信息告诉ArgumentParser
如何接受命令行上的字符串并将他们转换成对象,这些信息被保存下来并在调用parse_args()
时用到Namespace
对象parse_args()
调用一般不带参数,ArgumentParser
将根据sys.argv
自动确定命令行参数ArgumentParser
对象args, remaining = parser.parse_known_args(sys.argv)
ArgumentParser.parse_known_args(args=None, namespace=None)
返回一个两个元素的元组,包含构造的namespace
和剩余的不认识的参数字符串的列表namespace
,一个放不认识的参数列表0x03 一天总结
argparse
模块argparse.ArgumentParser()
创建命令解析对象ArgumentParser.add_argument()
添加命令参数ArgumentParser.parse_known_args()
忽略输入错误的参数,一般情况不用,让它报错提示BeeBeeto
的网址也导向了Seebug
,估计以后都不会有了(幸好所有公开POC
已经全部爬完),所以爬虫实战一到今天就全部结束Python
招聘题目The text was updated successfully, but these errors were encountered: