zoukankan      html  css  js  c++  java
  • sys.argv的意义[转]

    sys.argv的意义

    原文地址:https://www.cnblogs.com/zzliu/p/10775049.html

    简单来说,sys.argv是一个参数列表,这个列表存放着从外界获取到的参数(可能有多个)

    下面以一个例子来详细阐述sys.argv,本次演示在ubuntu环境下运行

    新建一个test.py,写入以下代码

    test.py

    import sys
    lst = sys.argv
    print(lst)
    



    在命令行使用python解释器运行test.py

    python3 test.py    # 注意此命令要在test.py所在的目录下运行
    

    运行结果

    ['test.py']
    

    可以看到sys.argv里面只有一个元素,是当前文件的文件名


    下面我们在运行test.py时传入一个参数,观察sys.argv的变化

    python3 test.py 2
    

    运行结果

    ['test.py', '2']
    



    传入多个参数时

    python3 test.py 2 "hello"    # 注意参数是以空格分割
    

    运行结果

    ['test.py', '2', 'hello']



    改变当前工作目录,切换到上级目录tmp

    cd ..

    再次运行test.py

    python3 tmp/test.py 2 "hello" "world"
    

    运行结果

    ['tmp/test.py', '2', 'hello', 'world']
    

    可以看到sys.argv的第一个元素是执行的py文件相对于当前工作目录的路径

    sys.argv的使用

    工作中我们可能会遇到这样一种情况,需要在命令行执行py文件,同时也需要传入参数,这时候sys.argv就派上用场了,sys.argv维护着一个参数列表,从外界传入的参数都记录在这个列表里,从而就可以在py文件里使用这些参数

    修改test.py文件
    test.py

    import sys
    lst = sys.argv
    print(lst)
    
    def func():
        a = int(sys.argv[1])
        b = int(sys.argv[2])
        return a**b
    
    
    print("result of func:",func())
    

    运行结果

    ['test.py', '2', '3']
    result of func: 8
    

    小结

    简而言之,sys.argv是一个参数列表,第一个元素是执行的py文件相对于当前工作目录的路径,后面的元素都是外界传入的参数,在py文件里可以使用sys.argv[index]的方式获取这些参数

    真正不羁的灵魂不会真的去计较什么,因为他们的内心深处有着国王般的骄傲。
  • 相关阅读:
    IBM Personal Communications 软件:精简绿色版TN3270终端模拟器:经测试可以在 (winxp、win2003、win764)上运行
    virtualbox谨记:续....
    Eclipse连接MySQL数据库
    shell几种字符串加密解密的方法
    表达式语言引擎:Apache Commons JEXL 2.1 发布
    一种表达式语言的解析引擎JEXL简单使用
    Java 实现String语句的执行(Jexl)
    JUnit4
    EL表达式
    Looping through the content of a file in Bash
  • 原文地址:https://www.cnblogs.com/kybyano/p/12391160.html
Copyright © 2011-2022 走看看