wordpress cms,杭州seo公司服务,把自己做的网站放到网上去,网站建设经费预算策划书#xff08;一#xff09;单一独立的参数
如果命令行输入的参数都是各自单一独立的#xff0c;直接用个循环把所有参数逐一读出来就行了。sys模块里面直接用args sys.argv就可以获取到所有参数了#xff08;返回值args是一个list#xff09;#xff0c;args0]是执行的py…一单一独立的参数
如果命令行输入的参数都是各自单一独立的直接用个循环把所有参数逐一读出来就行了。sys模块里面直接用args sys.argv就可以获取到所有参数了返回值args是一个listargs0]是执行的python文件路径名args[1:]后面的才是真正命令行输入的参数用个for循环就可以一一读取args列表示例代码如下
import sys
def usage():
print
This is usage.
This is usage.
This is usage.def main(argv):
for arg in argv[1:]:
if arg -t:
pass
elif arg -h or arg --help:
usage()
sys.exit()
elif arg -p:
pass
else:
print Error: invalid parameters
sys.exit()
if __name__ __main__:
main(sys.argv)
二参数结合
如果要读取-t mytest 这样的组合参数上面的方法就行不通了在shell里面有shift可以直接移到下一个参数但在python没有shift的功能所以得换种方式。一种方法是用getopt模块官方文档关于getopt的解释点击打开链接getopt模块里面的getopt函数可以指定参数可能的类型并且获取所有参数。
用法
getopt.getopt(args, options[, long_options])
options参数指定短式输入也就是单横杠-例如-hlong_options是可选的用于指定长式输入也就是双横杠--例如--help。如果是单一参数输入options和long_options都只需要直接写参数名例如下面这句代码指定两个单一参数-h/--help -t/--test
opts, args getopt.getopt(sys.argv[1:], ht, [help, test])
如果是后面还要继续接参数的options要在参数名后面加冒号:long_options要在参数名后面加等号例如下面这句代码指定三个参数-h/--help -t/--test -r path / --root path
opts, args getopt.getopt(sys.argv[1:], htr:, [help, test,root])
getopt函数的返回值有两个一般只用第一个如下面的代码第一个返回值opts : is a list of (option, value) pairs也就是一个 -t mytest 这样的元素对当然如果-t后面不需要再接参数的话那就没有value值了。利用这个pairs返回值我们可以用个for循环获取参数不管是单一独立的参数还是结合的参数都可以示例代码如下
import sys
import getopt
def usage():
print
This is usage.
This is usage.
This is usage.def main(argv):
try:
opts, args getopt.getopt(sys.argv[1:], m:p:h, [miner, params, help])
except getopt.GetoptError:
usage()
sys.exit()
for opt, arg in opts:
if opt in [-h, --help]:
pass
elif opt in [-t, --test]:
pass
elif opt in [-p, --path]:
param arg
print param
sys.exit()
else:
print Error: invalid parameters
usage()
sys.exit()
if __name__ __main__:
main(sys.argv)
另外还有个知识点就是如果想要print一大段string怎么办用三个双引号包住即可如上面的代码中usage函数并且要注意的是三双引号里面的内容不用缩进直接从最开头开始写否则会导致出错。