• python的sys.args使用


    一、sys 模块

    sys是Python的一个「标准库」,也就是官方出的「模块」,是「System」的简写,封装了一些系统的信息和接口。

    官方的文档参考:https://docs.python.org/2/library/sys.html
    中文版文档参考:http://xukaizijian.blog.163.com/blog/static/170433119201111625428624/

    二、sys.argv介绍和基本使用
    「argv」是「argument variable」参数变量的简写形式,一般在命令行调用的时候由系统传递给程序。这个变量其实是一个List列表,argv[0] 一般是“被调用的脚本文件名或全路径”,这个与操作系统有关,argv[1]和以后就是传入的系统命令参数。

    其实是一个从程序外部获取参数的入口,这个“外部”很关键,一般我们在命令行中运行。因为我们从外部输入的参数可以是多个,也就是说sys.argv其实可以看作是一个列表,所以才能用[]提取其中的元素。其第一个元素是程序本身,随后才依次是外部给予的参数。

    下面总结一下:
    sys.argv[0]表示代码本身文件路径,所以参数从1开始.

    sys.argv[1]表示第一个命令行参数

    sys.argv[1:]表示从第一个命令行参数到输入的最后一个命令行参数

    sys.argv[1][2:] 表示取第一个命令行参数,但是去掉前两个字节

    三、实例

    import sys
    print(sys.argv)  #获取运行python文件的时候传入的参数,第1个参数,index是0
    #输出:['D:/A-python学习/python3/python代码/day10/sys模块.py']
    
    if len(sys.argv)>1: #如果参数大于1,证明给了参数
        if sys.argv[1]=='--help': #如果第2个参数是--help
            quit('这个python是用来测试的,运行的时候需要使用 python a.py port') 
            #quit表示运行完此句代码即退出,不继续运行下面的代码了
        else: #否则传入的是port并赋值给port
            port = sys.argv[1]
    else: #如果没有传入参数,则port默认是7878
        port = 7878
    
    import flask
    server = flask.Flask(__name__)
    
    @server.route('/')
    def index():
        return '<h1>首页</h1>'
    
    server.run(port=port)
    #以上代码输出结果是:
    ['D:/A-python学习/python3/python代码/day10/sys模块.py']
     * Serving Flask app "sys模块" (lazy loading)
     * Environment: production
       WARNING: Do not use the development server in a production environment.
       Use a production WSGI server instead.
     * Debug mode: off
     * Running on http://127.0.0.1:7878/ (Press CTRL+C to quit)

    也可以在pycharm里的Terminal中运行命令

    #在Terminal中写命令,先写了一个python sys模块.py --help,回车运行完成后,写了python sys模块.py 2345(传了port)
    
    D:A-python学习python3python代码day10>python sys模块.py --help
    ['sys模块.py', '--help']
    这个python是用来测试的,运行的时候需要使用 python a.py port
    
    D:A-python学习python3python代码day10>python sys模块.py 2345
    ['sys模块.py', '2345']
     * Serving Flask app "sys模块" (lazy loading)
     * Environment: production
       WARNING: Do not use the development server in a production environment.
       Use a production WSGI server instead.
     * Debug mode: off
     * Running on http://127.0.0.1:2345/ (Press CTRL+C to quit)

    或者在pycharm中选择填写参数

    sys.argv使用场景如,别人调用你的代码时,需要别人传参数(如端口号可以传使用人自己的端口号,这样网址的端口号就是他自己的端口号了),根据传的参数(如help)去执行对应的命令

    作用:是获取到运行python文件的时候传入的参数

  • 相关阅读:
    java反编译工具
    Eclipse反编译插件: Jodeclipse与JadClipse
    Apk修改利器:ApkToolkit v2.1
    新浪微博2.5.1 for Android 去广告
    java
    第K顺序统计量
    身份证号码
    pop3
    google
    Exception
  • 原文地址:https://www.cnblogs.com/denise1108/p/10264319.html
Copyright © 2020-2023  润新知