Python学习第七篇:sys标准库

Python学习第七篇:sys标准库

——

活动地址:CSDN21天学习挑战赛

——

Python的sys模块提供访问由解释器使用或维护的变量的接口,并提供了一些函数用来和解释器进行交互,操控Python的运行时环境。

要进行使用,直接导入即可。

import sys

——

常用变量

sys.version

返回Python解释器版本号;用于某程序需要用指定版本号运行

import sys
print(sys.version)

Python学习第七篇:sys标准库_第1张图片

——

sys.maxsize

表示操作系统承载的最大int值

import sys
print(sys.maxsize)

Python学习第七篇:sys标准库_第2张图片

——

sys.maxunicode

给出最大Unicode代码点值的整数,即1114111(十六进制0x10FFFF)。

import sys
print(sys.maxunicode)

Python学习第七篇:sys标准库_第3张图片

——

sys.path

返回当前脚本的path环境变量,如果没有python就找到

import sys
print(sys.path)
Python学习第七篇:sys标准库_第4张图片
——

sys.platform

返回操作系统平台名称,在编写跨平台应用时很有用
windows 返回"win32"
linux 返回 “linux”
mac 返回 “darwin”

import sys
print(sys.platform)

Python学习第七篇:sys标准库_第5张图片

——

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] 之后才是我们输入的其它参数。
Python学习第七篇:sys标准库_第6张图片

通过输入的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() 函数中的形参执行。
Python学习第七篇:sys标准库_第7张图片

——

sys.executable

一个字符串,给出Python解释器的可执行二进制文件的绝对路径。
如果Python无法检索其可执行文件的真实路径,sys.executable则将为空字符串或None。

import sys
print(sys.executable)

Python学习第七篇:sys标准库_第8张图片

——

sys.byteorder

本地字节顺序的指示符——在大端序(最高有效位优先)操作系统上值为 ‘big’ ,在小端序(最低有效位优先)操作系统上为 'little

import sys
print(sys.byteorder)

Python学习第七篇:sys标准库_第9张图片
——

sys.version_info

包含版本号的五个组件的元组:major,minor, micro,releaselevel和serial。

import sys
print(sys.version_info)

Python学习第七篇:sys标准库_第10张图片
——

sys.api_version

此解释器的C API版本。

import sys
print(sys.api_version)

Python学习第七篇:sys标准库_第11张图片
——

sys.stdin/sys.stdout/sys.stderr

标准输入、输出、错误。

import sys

print(sys.stdin)
print(sys.stdout)
print(sys.stderr)

Python学习第七篇:sys标准库_第12张图片

——

常用方法

sys.wodules 的使用

返回系统导入的模块字段,key是模块名,value是模块

import sys
print(sys.modules)

Python学习第七篇:sys标准库_第13张图片

——

sys.modules.keys()

返回所有已导入的模块名列表

import sys
print(sys.modules.keys())

Python学习第七篇:sys标准库_第14张图片

——

sys.getdefaultencoding()

返回Unicode实现使用的当前默认字符串编码的名称。

import sys
print(sys.getdefaultencoding())

Python学习第七篇:sys标准库_第15张图片

——

sys.getfilesystemencoding()

返回用于在Unicode文件名和字节文件名之间进行转换的编码名称

import sys
print(sys.getfilesystemencoding())

Python学习第七篇:sys标准库_第16张图片

——

sys.getrecursionlimit()

返回最大递归次数

import sys
print(sys.getrecursionlimit())

Python学习第七篇:sys标准库_第17张图片

——

sys.getsizeof()

获取对象占用的内存大小(用字节表示)

import sys
for obj in [int(),float(),list(),set(),dict(),object()]:
    print(str(obj.__class__).ljust(20), sys.getsizeof(obj))

Python学习第七篇:sys标准库_第18张图片

——

getrefcount(obj)

返回obj的引用计数。返回的计数通常比预期的高一个,因为它包含(临时)引用作为参数。

import sys

a=[1,2,3]
b=a
c=b
print(sys.getrefcount(a))
print(sys.getrefcount(c))

有点不理解为什么这样,引用计数,c的引用奇数为什么是4 。
Python学习第七篇:sys标准库_第19张图片

——

sys.exc_info()

获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息

import sys
print(sys.exc_info())

Python学习第七篇:sys标准库_第20张图片

——

sys.getwindowsversion() 的使用

获取Windows的版本,Windows系统中有效

import sys
print(sys.getwindowsversion())

Python学习第七篇:sys标准库_第21张图片
——

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标准库_第22张图片

你可能感兴趣的:(python学习,python,sys库)