分享

Python 使用命令行参数

 启辰ozkb3yjim4 2018-09-29

当从命令行调用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()

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多