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

将列表a赋值给变量b和c,这意味着b和c现在都指向列表a所指向的内存地址,而不是创建一个新的列表。
然后列表有3个参数,sys.getrefcount()函数返回的引用计数包括传递给函数的参数本身,因此引用计数比你实际期望的多1 ,打印结果为 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’忽略.
请添加图片描述

  • 8
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Goodric

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值