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’忽略.
请添加图片描述

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2023年3月9日 下午10:56
下一篇 2023年3月9日 下午10:58

相关推荐