python标准库学习之sys模块详解

目录
  • 前言
  • 处理命令行参数
  • sys.exit(n) 退出程序,正常退出时exit(0)
  • sys.version 获取Python解释程序的版本信息
  • sys.platform 返回操作系统平台名称
  • sys.stdin.readline()与input
  • sys.stdout与print
  • 总结
  • 补充: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只能是字符串

总结

# -*- coding: utf-8 -*-
# Python中sys模块:该模块提供对解释器使用或维护的一些变量的访问,以及与解释器强烈交互的函数

# sys.argv #命令行参数List,第一个元素是程序本身路径
# sys.modules.keys() #返回所有已经导入的模块列表
# sys.exc_info() #获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息
# sys.exit(n) #程序,正常退出时exit(0)
# sys.hexversion #获取Python解释程序的版本值,16进制格式如:0x020403F0
# sys.version #获取Python解释程序的版本信息
# sys.maxint #最大的Int值
# sys.maxunicode #最大的Unicode值
# sys.modules #返回系统导入的模块字段,key是模块名,value是模块
# sys.path #返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
# sys.platform #返回操作系统平台名称
# sys.stdout #标准输出
# sys.stdin #标准输入
# sys.stderr #错误输出
# sys.exc_clear() 	#用来清除当前线程所出现的当前的或最近的错误信息
# sys.exec_prefix 	#返回平台独立的python文件安装的位置
# sys.byteorder 		#本地字节规则的指示器,big-endian平台的值是'big',little-endian平台的值是'little'
# sys.copyright 		#记录python版权相关的东西
# sys.api_version 	#解释器的C的API版本
# sys.version_info 	#获取Python解释器的版本信息
# sys.getwindowsversion #获取Windows的版本
# sys.getdefaultencoding #返回当前你所用的默认的字符编码格式
# sys.getfilesystemencoding #返回将Unicode文件名转换成系统文件名的编码的名字
# sys.setdefaultencoding(name) #用来设置当前默认的字符编码
# sys.builtin_module_names 	#Python解释器导入的模块列表
# sys.executable 					#Python解释程序路径
# sys.stdin.readline 				#从标准输入读一行,sys.stdout.write("a") 屏幕输出a
import sys #导入sys模块

dir(sys) #dir()方法查看模块中可用的方法
print(sys.getdefaultencoding()) #获取系统当前编码,一般默认为ascii.
print(sys.platform) # 获取当前系统平台. 如:win32、Linux等。
print(sys.argv) #sys.argv 变量是一个包含了命令行参数的字符串列表
# print(sys.path)
# print(sys.modules.keys())
# print(sys.modules.values())
sys.exit() # 一般情况下执行到主程序末尾,解释器自动退出,但是如果需要中途退出程序,可以调用sys.exit函数

补充:sys 模块的实例

在如下示例中,主要应用了sys模块中的argv实现了从程序外部向程序内传递参数,借助具体的案例让大家可以对sys模块使用能有更加深入的了解。

代码如下:

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])) 

到此这篇关于python标准库学习之sys模块详解的文章就介绍到这了,更多相关python sys模块详解内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2022-08-10

python3.7 sys模块的具体使用

Python的sys模块提供访问解释器使用或维护的变量,和与解释器进行交互的函数.通俗来讲,sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python运行时的环境. #!/usr/bin/env python __author__ = "lrtao2010" #python3.7 sys模块 #sys模块负责程序与python解释器的交互,提供了一系列的函数和变量, #用于操控python运行时的环境. # sys.argv 接收命令行参数,生成一个L

Python中sys模块功能与用法实例详解

本文实例讲述了Python中sys模块功能与用法.分享给大家供大家参考,具体如下: sys-系统特定的参数和功能 该模块提供对解释器使用或维护的一些变量的访问,以及与解释器强烈交互的函数.它始终可用. sys.argv 传递给Python脚本的命令行参数列表.argv[0]是脚本名称(依赖于操作系统,无论这是否是完整路径名).如果使用-c解释器的命令行选项执行命令,argv[0]则将其设置为字符串'-c'.如果没有脚本名称传递给Python解释器,argv[0]则为空字符串. 要循环标准输入或命

通过代码实例了解Python sys模块

sys-系统特定的参数和功能 该模块提供对解释器使用或维护的一些变量的访问,以及与解释器强烈交互的函数.它始终可用. 代码如下 #!/usr/bin/python # Filename: cat.py import sys def readfile(filename): '''Print a file to the standard output.''' f = file(filename) while True: line = f.readline() if len(line) == 0: b

Python标准库之Sys模块使用详解

sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分. 处理命令行参数 在解释器启动后, argv 列表包含了传递给脚本的所有参数, 列表的第一个元素为脚本自身的名称. 使用sys模块获得脚本的参数 复制代码 代码如下: print "script name is", sys.argv[0]        # 使用sys.argv[0]采集脚本名称 if len(sys.argv) > 1:     print "there are",

python中sys模块是做什么用的

python中的sys是提供了一系列有关python运行环境的变量和函数的模块,如sys.argv函数实现从程序外部向程序传递参数:sys.platform函数用于获取当前系统平台. sys模块提供了一系列有关Python运行环境的变量和函数. sys模块的常见函数列表 sys.argv: 实现从程序外部向程序传递参数. sys.exit([arg]): 程序中间的退出,arg=0为正常退出. sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii. sys.

python中sys模块的介绍与实例

python版本: Python 2.7.6 1: sys是python自带模块. 利用 import 语句输入sys 模块. 当执行import sys后, python在 sys.path 变量中所列目录中寻找 sys 模块文件.然后运行这个模块的主块中的语句进行初始化,然后就可以使用模块了 . 2: sys模块常见函数 可以通过dir()方法查看模块中可用的方法. 结果如下, 很多我都没有用过, 所以只是简单介绍几个自己用过的方法. $ python Python 2.7.6 (defau

Python sys模块常用方法解析

这篇文章主要介绍了Python sys模块常用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 旨在记录 python sys 模块的常用方法 sys 模块常用方法及属性 sys.argv: 接收外部传递的参数. sys.exit([arg]): 程序退出,arg 为 0 正常退出. sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii. sys.setdefaultencoding(): 设置系统默

Python configparser模块常用方法解析

ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section), 每个节可以有多个参数(键=值).使用的配置文件的好处就是不用在程序员写死,可以使程序更灵活. 注意:在python 3 中ConfigParser模块名已更名为configparser configparser函数常用方法: 读取配置文件: read(filename) #读取配置文件,直接读取ini文件内容 sections() #获取i

python sys模块sys.path使用方法示例

python sys模块包含了与python解释器和它的环境有关的函数,这个你可以通过dir(sys)来查看他里面的方法和成员属性 复制代码 代码如下: import sysprint dir(sys) result: 复制代码 代码如下: ['__displayhook__', '__doc__', '__excepthook__', '__name__', '__package__', '__stderr__', '__stdin__', '__stdout__', '_clear_type

Python random模块用法解析及简单示例

用法示例: import random # 1)随机小数 print(random.random()) # 获取大于0且小于1 之间的小数 random.random() print(random.uniform(1, 4)) # 获取大于1小于3的小数 # 2)随机整数 print(random.randint(1, 9)) # 获取大于等于1且小于等于9之间的整数 print(random.randrange(1, 9)) # 获取大于等于1且小于9之间的整数 print(random.ra

Python hashlib加密模块常用方法解析

这篇文章主要介绍了Python hashlib加密模块常用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 主要用于对字符串的加密,最常用的为MD5加密: import hashlib def get_md5(data): obj = hashlib.md5() obj.update(data.encode('utf-8')) result = obj.hexdigest() return result val = get_md5('12

Python os模块常用方法和属性总结

这篇文章主要介绍了Python os模块常用方法和属性总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1. os 模块常用的方法及属性 os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'. os.getcwd:得到当前工作目录,即当前python脚本工作的目录路径. os.getenv()和os.putenv:分别用来

Python paramiko模块使用解析(实现ssh)

开发堡垒机之前,先来学习Python的paramiko模块,该模块基于SSH用于连接远程服务器并执行相关操作 安装paramiko模块 pip3 install paramiko 基于用户密码方式 import paramiko # 创建SSH对象 ssh = paramiko.SSHClient() # 允许连接不在know_hosts文件中的主机 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 连接服务器 ssh.con

Python二元算术运算常用方法解析

在本文中,我想谈谈二元算术运算.具体来说,我想解读减法的工作原理:a - b.我故意选择了减法,因为它是不可交换的.这可以强调出操作顺序的重要性,与加法操作相比,你可能会在实现时误将 a 和 b 翻转,但还是得到相同的结果. 查看 C 代码 按照惯例,我们从查看 CPython 解释器编译的字节码开始. >>> def sub(): a - b ... >>> import dis >>> dis.dis(sub) 1 0 LOAD_GLOBAL 0

Python pickle模块常用方法代码实例

用于序列化的两个模块 json:用于字符串和Python数据类型间进行转换 pickle: 用于python特有的类型和python的数据类型间进行转换 json提供四个功能:dumps,dump,loads,load pickle提供四个功能:dumps,dump,loads,load pickle可以存储什么类型的数据呢? 所有python支持的原生类型:布尔值,整数,浮点数,复数,字符串,字节,None. 由任何原生类型组成的列表,元组,字典和集合. 函数,类,类的实例 pickle模块中