• python sys.argv[]


    sys.argv[]是用来获取命令行参数的,是一个由该脚本自身路径和其它输入的参数组成的List。sys.argv[0]表示代码本身文件路径。

    这里,当我们执行python using_sys.py we are arguments的时候,我们使用python命令运行using_sys.py模块,后面跟着的内容被作为参数传递给程序。Python为我们把它存储在sys.argv变量中。记住,脚本的名称总是sys.argv列表的第一个参数。所以,在这里,'using_sys.py'是sys.argv[0]、'we'是sys.argv[1]、'are'是sys.argv[2]以及'arguments'是sys.argv[3]。注意,Python从0开始计数,而非从1开始。

    # -*- coding:utf-8 -*-
    
    from sys import argv
    
    script,first,second,third=argv
    
    print "The script is called:",script
    print "Your first variable is:", first
    print "Your second variable is:",second
    print "Your third variable is:",third
    
    > python ex13.py first,2nd,3th
    The script is called: ex13.py
    Your first variable is: first
    Your second variable is: 2nd
    Your third variable is: 3th
    # -*- coding:utf-8 -*-
    
    import sys
    
    def readfile(filename):
        f=file(filename)
        while True:
            line=f.readline()
            if len(line)==0:
                break
            print line
        f.close()
    
    
    if len(sys.argv)<2:
        print "No action specofied."
        sys.exit()
        
    for i in range(len(sys.argv)):
        print "sys.argv[%d]-----%s" %(i,sys.argv[i])
    
    
    if sys.argv[1].startswith('--'):
        option=sys.argv[1][2:]
        #fetch sys.argv[1] without the first two characters
        if option == "version":
            print "Version 1.2"
        if option =="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
               
               ex13_2.py filename : will display content in file 
               """
            
        if option not in ["version","help"]:
            print "Unknow option."
            sys.exit()
    else:
        for filename in sys.argv[1:]:
            readfile(filename)
    
    
    > python ex13_3.py
    No action specofied.
    > python ex13_3.py --version
    sys.argv[0]-----ex13_3.py
    sys.argv[1]-------version
    Version 1.2
    > python ex13_3.py --help
    sys.argv[0]-----ex13_3.py
    sys.argv[1]-------help
    
                    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
    
                       ex13_2.py filename : will display content in file
    
    > python ex13_3.py 1.txt 2.txt
    sys.argv[0]-----ex13_3.py
    sys.argv[1]-----1.txt
    sys.argv[2]-----2.txt
    test for sys.argv
    test2
    > python ex13_3.py 1.txt
    sys.argv[0]-----ex13_3.py
    sys.argv[1]-----1.txt
    test for sys.argv
    > python ex13_3.py 1.txt 2.txt
    sys.argv[0]-----ex13_3.py
    sys.argv[1]-----1.txt
    sys.argv[2]-----2.txt
    test for sys.argv
    test2
    > python ex13_3.py 1.txt 2.txt 3.txt
    sys.argv[0]-----ex13_3.py
    sys.argv[1]-----1.txt
    sys.argv[2]-----2.txt
    sys.argv[3]-----3.txt
    test for sys.argv
    test2
    test3
  • 相关阅读:
    winform控件库二次开发yy
    Oracle数据库表死锁和解锁
    集合去重筛选
    linux手动生成core dump
    HandlerSocket简介以及php使用handlersocket
    使用truss、strace或ltrace诊断软件的“疑难杂症”
    Sqlserver 2012 导出表数据为SQL脚本
    MySQL的索引为什么使用B+Tree
    计算机体系
    docker使用
  • 原文地址:https://www.cnblogs.com/dadadechengzi/p/6184043.html
Copyright © 2020-2023  润新知