python之sys模块详解

1.sys模块的作用

sys即为system,就是系统的意思,所以该模块和系统有关,sys模块中封装了很多函数,这些函数无一不和系统有关,要么是操作系统,要么是编译器

2.sys模块常用用法

  • sys.exit()
  • sys.version()
  • sys.platfrom()
  • sys.stdin.readline()
  • sys.stdout.write()
  • sys.getdefaultencoding()
  • sys.argv
    • sys.argv[0] 表示程序自身
    • sys.argv[1] 表示程序的第一个参数
    • sys.argv[2] 表示程序的第二个参数
import sys


def main():
    print(sys.version)
    print(sys.platform)
    st = sys.stdin.readline()
    print(st)
    sys.stdout.write('sadf')
    print(sys.argv[0])


if __name__ == '__main__':
    main()



#如下为运行结果,查看自可得各个函数用法

3.8.8 (tags/v3.8.8:024d805, Feb 19 2021, 13:18:16) [MSC v.1928 64 bit (AMD64)]
win32
dsf
dsf

sadfE:/python代码/Python算法/python密码算法/text.py

# -*- 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

3.sys模块的详细用法

要了解sys模块的详细用法,运行如下代码:

import sys
help(sys)

运行如上代码,你会发现都是英文解释,如下是翻译:

描述

类使用或维护的一些对象

解释器和与解释器强交互的函数。



动态对象:



Argv——命令行参数;Argv[0]是脚本路径名(如果已知的话)

路径——模块搜索路径;路径[0]是脚本目录,否则"

Modules——已加载模块的字典



显示钩子——调用它来显示交互式会话中的结果

excepthook——调用它来处理SystemExit之外的任何未捕获异常

在交互会话中自定义打印或安装自定义打印

顶级异常处理程序,分配其他函数替换这些。



标准输入文件对象;使用的输入()

标准输出文件对象;使用print ()

标准错误对象;用于错误消息

通过分配其他文件对象(或行为类似于文件的对象)

因此,可以重定向解释器的所有I/O。



Last_type——最后未捕获异常的类型

Last_value——最后一个未捕获异常的值

Last_traceback——上一次未捕获异常的回溯

这三个只能在一个交互式会话中使用

已打印回溯。



静态对象:



Builtin_module_names——这个解释器内置的模块名称元组

版权——与此解释器相关的版权声明

exec_prefix——用于查找特定于机器的Python库的前缀

executable——Python解释器的可执行二进制文件的绝对路径

Float_info——一个命名元组,包含关于浮动实现的信息。

Float_repr_style——表示floatrepr()输出的样式的字符串

Hash_info——一个命名元组,包含关于哈希算法的信息。

Hexversion——版本信息编码为单个整数

implementation——Python实现信息。

Int_info——一个命名元组,包含关于int实现的信息。

Maxsize——容器支持的最大长度。

maxunicode——最大Unicode代码点的值

平台——平台标识符

prefix——用于查找Python库的前缀

Thread_info——一个包含线程实现信息的命名元组。

Version——此解释器的版本为字符串

Version_info——作为命名元组的版本信息

dllhandle——[仅限Windows] Python DLL的整数句柄

winver——[Windows only] Python DLL的版本号

_enableelegacywindowsfsencoding—[Windows only]

__stdin__——原始的stdin;别碰!

__stdout__——原始的标准输出;别碰!

__stderr__——原始的stderr;别碰!

__displayhook__——原始的displayhook;别碰!

__excepthoo__——原始的excepthoo__;别碰!



功能:



Displayhook()——将一个对象打印到屏幕上,并将其保存在builtins._中

Excepthook()——打印一个异常及其到sys.stderr的回溯

Exc_info()——返回关于当前异常的线程安全信息

exit()——通过引发SystemExit来退出解释器

Getdlopenflags()——返回用于dlopen()调用的标志

Getprofile()——获取全局分析函数

Getrefcount()——返回对象的引用计数(1:-)

Getrecursionlimit()——返回解释器的最大递归深度

Getsizeof()——以字节为单位返回对象的大小

Gettrace()——获取全局调试跟踪函数

Setcheckinterval()——控制解释器检查事件的频率

Setdlopenflags()——设置用于dlopen()调用的标志

Setprofile()——设置全局分析函数

Setrecursionlimit()——为解释器设置最大递归深度

Settrace()——设置全局调试跟踪函数



功能

__breakpointhook__ = breakpointhook()

breakpointhook * args, * * (kws)



这个钩子函数由内置的breakpoint()调用。



__displayhook__ = displayhook(object/)

打印一个对象到sys。Stdout并将其保存在builins ._中



__excepthook__ = excepthook(exctype, value, trace, /)

通过在sys.stderr上使用回溯显示异常来处理异常。



__unraisablehook__ = unraisablehook(unraisable, /)

处理一个无法引发的异常。



这个无法提出的论点有以下特征:



* exc_type:异常类型。

* exc_value:异常值,可为None* exc_traceback:异常
* err_msg:错误消息,可以为None* object:引起异常的对象,可以是None。



addaudithook()

添加一个新的审计钩子回调。



审计()

审计(事件,* args)



将事件传递给任何附加的审计钩子。



breakpointhook()

breakpointhook * args, * * (kws)



这个钩子函数由内置的breakpoint()调用。



call_tracing(函数、参数/)

在启用跟踪时调用func(*args)。



保存跟踪状态,并在后续恢复跟踪状态。这个目的是

从检查点从调试器调用,以递归地调试

其他一些代码。



callstats ()

返回函数调用统计信息的元组。



只有当Python被定义时,CALL_PROFILE才会返回元组

建立。否则,返回None。



启用后,此函数返回详细的、特定于实现的内容

关于执行的函数调用数量的详细信息。返回值

是一个11元组,其中元组中的条目是计数:

0. 所有的函数调用

1. 调用PyFunction_Type对象

2. 不创建参数元组的PyFunction调用

3.不创建参数元组的PyFunction调用

和旁路PyEval_EvalCodeEx ()

4. PyMethod调用

5. PyMethod调用绑定方法

6. PyType调用

7. PyCFunction调用

8. 发电机的电话

9. 所有其他的电话

10. call_function()执行的栈弹出次数



displayhook(对象,/)

打印一个对象到sys。Stdout并将其保存在builins ._中



exc_info ()

返回当前异常信息:(类型,值,回溯)。



返回由except捕获的最新异常的信息

子句在当前堆栈帧中或在旧的堆栈帧中。



Excepthook (exctype, value, traceback, /)

通过在sys.stderr上使用回溯显示异常来处理异常。



退出(状态= None, /)

通过提升SystemExit(status)来退出解释器。



如果状态被省略或为None,则默认为0(即success)。

如果状态为整数,则用作系统退出状态。

如果是另一种对象,则将其打印和系统

退出状态将为1(即,失败)。



get_asyncgen_hooks ()

返回已安装的异步生成器钩子。



这将返回表单的命名元组(firstiter, finalizer)。



get_coroutine_origin_tracking_depth ()

检查此线程中协程对象的起源跟踪状态。



getallocatedblocks ()

返回当前分配的内存块数量。



getcheckinterval ()

返回当前检查间隔;看到sys.setcheckinterval()。



getdefaultencoding ()

返回Unicode实现使用的当前默认编码。



getfilesystemencodeerrors ()

返回使用Unicode到OS文件名转换的错误模式。



getfilesystemencoding ()

返回用于将Unicode文件名转换为OS文件名的编码。



getprofile ()

使用sys.setprofile返回配置函数集。



参见库手册中的分析器章节。



getrecursionlimit ()

返回递归限制的当前值。



递归限制是Python解释器的最大深度

堆栈。此限制可防止无限递归导致溢出

C栈和Python的崩溃。



getrefcount(对象,/)

返回对象的引用计数。



返回的计数通常比你预期的要高1,

因为它包含作为参数的(临时)引用

getrefcount()。



getsizeof()

Getsizeof (object [, default]) -> int



以字节为单位返回对象的大小。



getswitchinterval ()

返回当前线程切换间隔;看到sys.setswitchinterval()。



gettrace ()

使用sys.settrace返回全局调试跟踪函数集。
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

安全天天学

你的鼓励是对我最大的鼓励

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

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

打赏作者

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

抵扣说明:

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

余额充值