sys.argv从一个程序外部获取参数的桥梁,我们从外部获取到的参数可以是多个,所以或得的是一个list

sys.argv其实可以看作是一个列表,所以才能用[]提取其中的元素,其中第一个元素时程序本身,随后才是外部

给予的参数

实例:

import sys
print(sys.argv) #获取运行python文件的时候传入的参数

if len(sys.argv)>1:
if sys.argv[1]=='--help':
quit('这个python是用来测试的,运行的时候需要使用 python a.py port')
else:
port = sys.argv[1]
else:
port = 7878

import flask
server = flask.Flask(__name__)

@server.route('/')
def index():
return '<h1>首页</h1>'

server.run(port=port)
命令行运行如下截图:

C:\Users\zyq64\PycharmProjects\1018>cd day10

C:\Users\zyq64\PycharmProjects\1018\day10>python sys模块.py
['sys模块.py']

解释:不加任何参数时,默认提示启动程序端口号是7878

C:\Users\zyq64\PycharmProjects\1018\day10>python sys模块.py help
['sys模块.py', 'help']
Traceback (most recent call last):
File "sys模块.py", line 21, in <module>
server.run(port=port)

解释:跟了一个help的参数,列表中就有两个元素

C:\Users\zyq64\PycharmProjects\1018\day10>python sys模块.py 8090
['sys模块.py', '8090']
* 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:8090/ (Press CTRL+C to quit)

解释:

跟了一个端口号的参数,默认启动时,端口号就是传入的参数8090

 

 

2、也可以在pycharm中进行传入参数,如下

 

点击左上角--sys模块--edit configuration--configuration--parameters--输入传的参数