获取命令行参数

获取命令行参数

import sys

python可以使用sys.argv获取到命令行参数。sys.argv[0]表示代码本身文件路径,所有参数从1开始,一下例子说明,创建一个test.py文件 里面写下

#-*- coding: UTF-8 -*-

import os,sys

def sayHello():
    print sys.argv
    print len(sys.argv)
    print sys.argv[0]
    print sys.argv[1]
    print sys.argv[2]
    print sys.argv[:]

if __name__ == "__main__":
    print sys.argv[:]
    sayHello()

运行结果为

C:\Users\Administrator>d:\Python27\python.exe E:\linuxmy\python\py\python\test.py xx yy zz
['E:\linuxmy\python\py\python\test.py', 'xx', 'yy', 'zz']
['E:\linuxmy\python\py\python\test.py', 'xx', 'yy', 'zz']
4
E:\linuxmy\python\py\python\test.py
xx
yy
['E:\linuxmy\python\py\python\test.py', 'xx', 'yy', 'zz']

可以看到,这两个是python中的可变参数。args表示任何多个无名参数,它是一个tuple;**kwargs表示关键字参数,它是一个dict。并且同时使用args和kwargs时,必须*args参数列要在kwargs前,像foo(a=1, b='2', c=3, a', 1, None, )这样调用的话,会提示语法错误“SyntaxError: non-keyword arg after keyword arg”。

参考:
[1] python-如何获取命令行是参数 http://blog.51cto.com/scoke/514826
[2] Python tips: 什么是*args和**kwargs? http://www.cnblogs.com/fengmk2/archive/2008/04/21/1163766.html

posted @ 2022-06-22 09:42  xiaoxuxli  阅读(214)  评论(0编辑  收藏  举报