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学习\python3\python代码\day10>python sys模块.py --help
['sys模块.py', '--help']
这个python是用来测试的,运行的时候需要使用 python a.py port D:\A-python学习\python3\python代码\day10>python sys模块.py 2345
['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:2345/ (Press CTRL+C to quit)
或者在pycharm中选择填写参数

sys.argv使用场景如,别人调用你的代码时,需要别人传参数(如端口号可以传使用人自己的端口号,这样网址的端口号就是他自己的端口号了),根据传的参数(如help)去执行对应的命令
作用:是获取到运行python文件的时候传入的参数
python的sys.args使用的更多相关文章
- python argparse sys.argv
python argparse sys.argv class WeiLearningArgumentParser(argparse.ArgumentParser): def __init__(self ...
- python中sys.argv[]用法
sys.argv[]的作用: 在运行python文件的时候往文件里面传递参数. 从函数外部获取到变量值 import sys arg = sys.argv[0] args = sys.argv[:] ...
- python之sys模块详解
python之sys模块详解 sys模块功能多,我们这里介绍一些比较实用的功能,相信你会喜欢的,和我一起走进python的模块吧! sys模块的常见函数列表 sys.argv: 实现从程序外部向程序传 ...
- python之 sys.exit() os._exit() exit() quit()的简单使用
python之sys.exit() os._exit() exit() quit()的简单使用 1>sys.exit() >>> import sys>>> ...
- python之sys模块
38.python的sys模块: 用于提供对Python解释器相关的操作: 1 2 3 4 5 6 7 8 9 sys.argv 命令行参数List,第一个元素是程序本身路径 sy ...
- Python中 sys.argv[]的用法
Python中 sys.argv[]的用法 因为是看书自学的python,开始后不久就遇到了这个引入的模块函数,且一直在IDLE上编辑了后运行,试图从结果发现它的用途,然而结果一直都是没结果,也在网上 ...
- 31 Python中 sys.argv[]的用法简明解释(转)
Python中 sys.argv[]的用法简明解释 因为是看书自学的python,开始后不久就遇到了这个引入的模块函数,且一直在IDLE上编辑了后运行,试图从结果发现它的用途,然而结果一直都是没结果, ...
- python之sys.stdout、sys.stdin以及设置打印到日志文件等
转自:https://www.cnblogs.com/BigFishFly/p/6622784.html python之sys.stdout.sys.stdin 转自:http://www.cnblo ...
- Python函数参数*args和**kwargs
1. Python中使用*args和**kwargs #!/usr/bin/env python3 # coding: utf-8 # File: args_kwargs_demo.py # Auth ...
随机推荐
- A1018. Public Bike Management
There is a public bike service in Hangzhou City which provides great convenience to the tourists fro ...
- django orm跨表查询废话最少最精简版
在model.py中: class B1(models.Model): u1= models.CharField(max_length=32) #多 class B2(models.Model): f ...
- ECharts使用心得总结
https://blog.csdn.net/whiteosk/article/details/52684053 项目中的图表形式很多,基本可以在ECharts中找到相应实例,但UI设计图中的图表跟百度 ...
- plink:ped格式转换为bed格式
命令行如下: plink --file FILENAME --make-bed --out FILENAME 第一个FILENAME的后缀为.ped和.map,生成的第二个FILENAME的后缀为.b ...
- Day29--Python--缓冲区, 粘包
tcp: 属于长连接,与一个客户端进行连接了以后,其他的客户端要等待.要想连接另外一个客户端,需要优雅地断开当前客户端的连接 允许地址重用:server.setsockopt(socket.SOL_S ...
- nohup报错
1 这是脚本编码的问题 解决办法: (1)用vi打开对应的脚本 (2)在命令行下(:set ff?),看一下当前文档的编码格式 ,有两种情况 fileformat=unix和fileformat=do ...
- pageObject学习
1.java代码层面的pageObject实现 参考:https://www.cnblogs.com/yytesting/p/6973474.html 是用java写的实例,优点是结构很清晰,缺点是p ...
- 爬虫之requests请求库
介绍 #介绍:使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的api更加便捷(本质就是封装了urllib3) #注意:requests库发送请求将网页内容下 ...
- Linux系统诊断必备技能之一:lsof 用法详解!
lsof(list open files)是一个查看当前系统文件的工具.在linux环境下,任何事物都以文件的形式存在,用户通过文件不仅可以访问常规数据,还可以访问网络连接和硬件:如传输控制协议 (T ...
- diff补丁格式
title: diff补丁格式 tags: 学习 categories: 学习 date: 2018-09-20 21:03:53 --- diff补丁格式 在Uboot学习中,接触到了打补丁这个操作 ...