sys.argv[] 用法

来源:互联网 发布:淘宝网棉拖鞋批发 编辑:程序博客网 时间:2024/06/06 17:25

sys.argv[]是用来获取命令行输入的参数的(参数和参数之间空格区分),sys.argv[0]表示代码本身文件路径,所以从参数1开始,表示获取的参数了

例子0:

test.py

#-*-coding:utf-8-*-from sys import argvscript,first,second,third = argvprint ("The script is called:{%s}"% script)print ("Your first variable is:{%s}"% first)print ("Your second variable is:{%s}"% second)print ("Your third variable is:{%s}"% third)

运行结果:
这里写图片描述

例子1:

import osos.system(sys.argv[1])

os.system 是打开程序的命令,把这个代码保存为一个脚本文件,test.py在命令行中运行 test.py notepad就可以打开记事本了

例子2

import sysdef readfile(filename):  #从文件中读出文件内容    '''Print a file to the standard output.'''    f = file(filename)    while True:        line = f.readline()        if len(line) == 0:            break        print line, # notice comma  分别输出每行内容    f.close()# Script starts from hereif len(sys.argv) < 2:    print 'No action specified.'    sys.exit()if sys.argv[1].startswith('--'):    option = sys.argv[1][2:]    # fetch sys.argv[1] but without the first two characters    if option == 'version':  #当命令行参数为-- version,显示版本号        print 'Version 1.2'    elif option == 'help':  #当命令行参数为--help时,显示相关帮助内容        print '''/This program prints files to the standard output.Any number of files can be specified.Options include:  --version : Prints the version number  --help    : Display this help'''    else:        print 'Unknown option.'    sys.exit()else:    for filename in sys.argv[1:]: #当参数为文件名时,传入readfile,读出其内容        readfile(filename)

保存程序为test.py.运行一下:
1)
命令行带参数运行:test.py
–version 输出结果为:version 1.2
2)
命令行带参数运行:test.py
–help 输出结果为:This program prints files……
3)
在test.py目录下,新建a.txt的记事本文件,内容为:test argv;命令行带参数运行:test.py a.txt,输出结果为a.txt文件内容:test argv,控制台中输入多个参数用空格区分。

原创粉丝点击