python标准库学习之sys模块详解
作者:wu_zhiyuan 发布时间:2021-08-02 02:25:19
标签:python,sys模块
前言
sys模块是与python解释器交互的一个接口。sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分。
处理命令行参数
在解释器启动后, argv 列表包含了传递给脚本的所有参数, 列表的第一个元素为脚本自身的名称。
sys.argv[0] 表示程序自身
sys.argv[1] 表示程序的第一个参数
sys.argv[2] 表示程序的第二个参数
可以做个测试,如下图:
sys.exit(n) 退出程序,正常退出时exit(0)
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import sys
a=2
if a<=2:
sys.exit(8)
#注释:退出python执行程序,下面的代码将不会执行,如同shell中的exit一样。
sys.version 获取Python解释程序的版本信息
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import sys
print(sys.version)
运行结果:
3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)]
sys.platform 返回操作系统平台名称
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import sys
print(sys.platform)
运行结果:
win32
sys.stdin.readline()与input
import sys
# sys.stdin.readline() 相当于input,区别在于input不会读入'\n'
aa = sys.stdin.readline()# 输入数据多一个'\n'
bb = input('请输入:')
print(len(aa))
print(len(bb))
#结果
i love DL
请输入:i love DL
10
9
运行结果:
22请输入:2232
可以看出:
①sys.stdin.readline()方式与input方式的区别是:len(aa)元素中多了一个‘\n’换行符。即sys.stdin.readline()方式会读入换行符。
②还有一个区别在于,input()里面可以直接传入文本,然后打印出来。
sys.stdout与print
sys.stdout.write('hello' + '\n')
print('hello')
上面的两种打印方式是等价的,例如:
import sys
# sys.stdin.readline() 相当于input,区别在于input不会读入'\n'
aa = sys.stdin.readline()
bb = input('请输入:')
sys.stdout.write(str(len(aa)) + '\n') # 默认无法实现print方式的sep参数功能,所以需要手动在后面添加一个换行符
print(len(bb))
运行结果:
11请输入:1132
注:sys.stdout.write(obj+‘\n’)中的obj只能是字符串。
from sys import argv #通过这种导入,直接使用argv
import os
def ping(net,start=80,end=85,n=1,w=3):
for i in range(start,end+1):
ip=net+"."+str(i)
command="ping %s -n %d -w %d"%(ip,n,w)
print(ip,("通","不通")[os.system(command)])#system用1,0表示通与不通,1不通,0通
#示例输入
if len(argv) not in [2,4,6]:
print("参数输入错误!")
print("1.py 111.202.98")
print("1.py 111.202.98 70 80")
print("1.py 111.202.98 70 80 1 5")
elif len(argv)==2:
net=argv[1]
ping(net)
elif len(argv)==4:
net=argv[1]
ping(net,start=int(argv[2]),end=int(argv[3]))
else:
net=argv[1]
ping(net,start=int(argv[2]),end=int(argv[3]),n=int(argv[4]),w=int(argv[5]))
来源:https://blog.csdn.net/wu_zhiyuan/article/details/124730436
0
投稿
猜你喜欢
- 本文介绍了使用python wasmtime来访问rust库的便捷方法,步骤极其简练,可以在生产环境中使用。安装rust target wa
- 如下所示:在def __init__(self):函数里添加self.setFixedSize(self.width(), self.hei
- Environs是解析环境变量的Python库。它的开发受envparse启发,底层使用marshmallow验证并序列化值。在运行一个项目
- 概述从今天开始, 小白我将带领大家一起来补充一下 数据库的知识.数据控制语言数据控制语言 (Data Control Language) 是
- 最简单的:<textarea name="A" cols="45" rows="2&
- Python中常用到的两种标准化输入方式:分别sys.stdin和input,两者使用方式大致相同,但是总的来说sys.stdin使用方式更
- 不论什么时候,只要系统带有多个设备,而这些设备的性能又各不相同,就存在从慢速设备到快速设备不断更换工作地点以改善系统性能的可能性,这就是缓存
- 效果展示爬取目标网址:酷我音乐工具使用开发工具:pycharm开发环境:python3.7, Windows10使用工具包:requests
- 一、h5py模块介绍本文只是简单的对h5py库的基本创建文件,数据集和读取数据的方式进行介绍!如果读者需要进一步详细的学习h5py的更多知识
- 为了能够正常使用,先把所提供的global.asa文件放到该应用程序的根目录中。最简单的办法是把global.asa文件放到缺省Web网站的
- PHP异步调用实现方式 浏览器和服务器之间只一种面向无连接的HTTP协议进行通讯的,面向无连接的程序的特点是客户端请求服务端,服务端根据请求
- 本文介绍了三种跨域访问的方法,php,asp及jsp种访问远程文件的方法。这几天脑细胞剩下的不多了,不过问题都一个个解决了。我希望搜索引擎能
- 每次和朋友聊天苦于没有表情包,而别人的表情包似乎是取之不尽、用之不竭。作为一个程序员哪能甘愿认输,于是做了一个表情包下载器供大家斗图。首先,
- 格式为: SCRENC [/s] [/f] [/xl] [/l defLanguage ] [/e de
- 什么是yaml一种标记语言。yaml 是专门用来写配置文件的语言,非常简洁和强大更直观,更方便,有点类似于json格式yaml文件格式:te
- 这样做的好处是:利用表格来装载数据,不言而喻是最好的,你可以很灵活的为每个单元格定义样式。下面是具体的做法首先在photoshop设计一个效
- 1. 背景在软件需求、开发、测试过程中,有时候需要使用一些测试数据,针对这种情况,我们一般要么使用已有的系统数据,要么需要手动制造一些数据。
- 本文研究的主要问题时Python读取word文本操作,分享了相关概念和实现代码,具体如下。一,docx模块Python可以利用python-
- 一、所需工具**Python版本:**3.5.4(64bit)二、相关模块opencv_python模块sklearn模块numpy模块dl
- SMTPSMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。Python对SMTP