当从命令行调用Python 脚本程序,用户可能需要添加命令行参数,这些参数传递到脚本中。程序员可通过系统变量 sys.argv(“argv”是大多数习惯性命名,意思是参数向量)获取这些参数可用于。 按照惯例,sys.argv列表中的第一个元素是Python脚本文件名称,而剩下的元素则是用户调用脚本时传递的参数。 # cli.py import sys print(sys.argv) $ python cli.py =>['cli.py'] $ python cli.py fizz =>['cli.py','fizz'] $ python cli.py fizz buzz =>['cli.py','fizz','buzz'] 这是另外一个使用argv的例子。我们首先去掉sys.argv初始元素,因为它里面包含脚本名称。然后我们合并剩下的参数到一个字符串,最后打印当前登录用户名和这个字符串(这样就可以模拟聊天程序了)。 import getpass import sys words = sys.argv[1:] sentence = " ".join(words) print("[%s] %s" % (getpass.getuser(), sentence)) 这个算法通过迭代循环sys.argv的列表来手动解析非未知参数。方法是历遍整个列表中的元素。 argv =reversed(sys.argv) targ = argv.pop() while len(argv)>0: if arg in('-f','--foo'): print('seen foo!') elif arg in('-b','--bar'): print('seen bar!') elif arg in('-a','--with-arg'): arg = arg.pop() print('seen value: {}'.format(arg)) arg = argv.pop() |
|
来自: 启辰ozkb3yjim4 > 《待分类》