Python学习第七篇:sys标准库
Posted Goodric
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习第七篇:sys标准库相关的知识,希望对你有一定的参考价值。
Python学习第七篇:sys标准库
——
活动地址:CSDN21天学习挑战赛
——
Python的sys模块提供访问由解释器使用或维护的变量的接口,并提供了一些函数用来和解释器进行交互,操控Python的运行时环境。
要进行使用,直接导入即可。
import sys
——
常用变量
sys.version
返回Python解释器版本号;用于某程序需要用指定版本号运行
import sys
print(sys.version)
——
sys.maxsize
表示操作系统承载的最大int值
import sys
print(sys.maxsize)
——
sys.maxunicode
给出最大Unicode代码点值的整数,即1114111(十六进制0x10FFFF)。
import sys
print(sys.maxunicode)
——
sys.path
返回当前脚本的path环境变量,如果没有python就找到
import sys
print(sys.path)
——
sys.platform
返回操作系统平台名称,在编写跨平台应用时很有用
windows 返回"win32"
linux 返回 “linux”
mac 返回 “darwin”
import sys
print(sys.platform)
——
sys.argv 的使用
将python脚本运行时的脚本名以及参数作为一个list。
实现从程序外部像程序内容传递参数,即在命令行中添加参数。
这个在一些工具脚本中用的挺多的。
打印认识sys.argv 中的列表
import sys
print(sys.argv)
print(sys.argv[0])
print(sys.argv[1])
print(sys.argv[2])
需要在命令行中执行输入参数。
第一个参数 argv[0]
为执行此python代码的文件名。
第二个参数 argv[1]
之后才是我们输入的其它参数。
通过输入的sys.argv 参数实现功能。
import sys
def login(username,password):
#username = str(username)
#password = str(password)
if (username == 'admin' and password == '123456'):
print('login success')
elif (username == 'admin' and password != '123456'):
print('password error')
elif (username != 'admin' and password == '123456'):
print('username error')
else:
print('login failed')
login(sys.argv[1],sys.argv[2])
把命令行中的参数作为 login()
函数中的形参执行。
——
sys.executable
一个字符串,给出Python解释器的可执行二进制文件的绝对路径。
如果Python无法检索其可执行文件的真实路径,sys.executable则将为空字符串或None。
import sys
print(sys.executable)
——
sys.byteorder
本地字节顺序的指示符——在大端序(最高有效位优先)操作系统上值为 ‘big’ ,在小端序(最低有效位优先)操作系统上为 'little
import sys
print(sys.byteorder)
——
sys.version_info
包含版本号的五个组件的元组:major,minor, micro,releaselevel和serial。
import sys
print(sys.version_info)
——
sys.api_version
此解释器的C API版本。
import sys
print(sys.api_version)
——
sys.stdin/sys.stdout/sys.stderr
标准输入、输出、错误。
import sys
print(sys.stdin)
print(sys.stdout)
print(sys.stderr)
——
常用方法
sys.wodules 的使用
返回系统导入的模块字段,key是模块名,value是模块
import sys
print(sys.modules)
——
sys.modules.keys()
返回所有已导入的模块名列表
import sys
print(sys.modules.keys())
——
sys.getdefaultencoding()
返回Unicode实现使用的当前默认字符串编码的名称。
import sys
print(sys.getdefaultencoding())
——
sys.getfilesystemencoding()
返回用于在Unicode文件名和字节文件名之间进行转换的编码名称
import sys
print(sys.getfilesystemencoding())
——
sys.getrecursionlimit()
返回最大递归次数
import sys
print(sys.getrecursionlimit())
——
sys.getsizeof()
获取对象占用的内存大小(用字节表示)
import sys
for obj in [int(),float(),list(),set(),dict(),object()]:
print(str(obj.__class__).ljust(20), sys.getsizeof(obj))
——
getrefcount(obj)
返回obj的引用计数。返回的计数通常比预期的高一个,因为它包含(临时)引用作为参数。
import sys
a=[1,2,3]
b=a
c=b
print(sys.getrefcount(a))
print(sys.getrefcount(c))
有点不理解为什么这样,引用计数,c的引用奇数为什么是4 。
——
sys.exc_info()
获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息
import sys
print(sys.exc_info())
——
sys.getwindowsversion() 的使用
获取Windows的版本,Windows系统中有效
import sys
print(sys.getwindowsversion())
——
sys.stdin.readline()
从标准输入读一行,会读取末尾的换行符, 默认输入的格式是字符串,如果是int,float类型则需要强制转换。
和 input()方法类似, 不同的是input()括号内可以直接填写说明文字
import sys
print('stdin输入:')
a = sys.stdin.readline()
b = input('input输入:')
print(a)
print(b)
print('a的长度:',len(a))
print('b的长度:',len(b))
stdin 和 input 输入的都是 abc ,但是 a 的长度是 4 。
因为 sys.stdin.readline( )
会将标准输入全部获取,包括末尾的'\\n'
,input()会把‘\\n’
忽略.
以上是关于Python学习第七篇:sys标准库的主要内容,如果未能解决你的问题,请参考以下文章