• sys.argv[] 用法


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

    例子0:
    test.py

    #-*-coding:utf-8-*-
    from sys import argv

    script,first,second,third = argv

    print ("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
    2
    3
    4
    5
    6
    7
    8
    9
    运行结果:


    例子1:
    import os
    os.system(sys.argv[1])
    1
    2
    os.system 是打开程序的命令,把这个代码保存为一个脚本文件,test.py在命令行中运行 test.py notepad就可以打开记事本了

    例子2
    import sys
    def 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 here
    if 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)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    保存程序为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,控制台中输入多个参数用空格区分。
    ---------------------
    作者:Peace & Love
    来源:CSDN
    原文:https://blog.csdn.net/u013205877/article/details/78571453
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    Django之Form、CSRF、cookie和session
    Django之路由、模板和模型系统
    简约而不简单的Django
    剑指offer(10)矩形覆盖
    剑指offer(9)变态跳台阶
    剑指offer(8)跳台阶
    剑指offer(7)斐波那契数列
    剑指offer(6)旋转数组中的最小数字
    剑指offer(5)用两个栈实现队列
    剑指offer(4)重建二叉树
  • 原文地址:https://www.cnblogs.com/cqkangle/p/10501101.html
Copyright © 2020-2023  润新知