2024年Go最新Python中sys模块_sys(5),给2024的Golang一些建议

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

sys.getcheckinterval()
返回口译员的“检查间隔”; 看setcheckinterval()。

版本2.3中的新功能。

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

2.0版中的新功能。

sys.getdlopenflags()
返回用于dlopen()调用的标志的当前值。标志常量在dl和DLFCN模块中定义。可用性:Unix。

版本2.2中的新功能。

sys.getfilesystemencoding()
返回用于将Unicode文件名转换为系统文件名的None编码名称,或者是否使用系统默认编码。结果值取决于操作系统:

在Mac OS X上,编码是’utf-8’。
在Unix上,根据nl_langinfo(CODESET)的结果,或者None如果nl_langinfo(CODESET) 失败,编码是用户的首选项。
在Windows NT +上,文件名本身是Unicode,因此不执行任何转换。getfilesystemencoding()仍然返回’mbcs’,因为这是应用程序在明确要将Unicode字符串转换为用作文件名时等效的字节字符串时应使用的编码。
在Windows 9x上,编码是’mbcs’。
版本2.3中的新功能。

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

sys.getrecursionlimit()
返回递归限制的当前值,即Python解释器堆栈的最大深度。此限制可防止无限递归导致C堆栈溢出并导致Python崩溃。它可以设置 setrecursionlimit()。

sys.getsizeof(对象[,默认] )
以字节为单位返回对象的大小。对象可以是任何类型的对象。所有内置对象都将返回正确的结果,但这不一定适用于第三方扩展,因为它是特定于实现的。

如果给定,则如果对象未提供检索大小的方法,则将返回default。否则TypeError将被提出。

getsizeof()sizeof如果对象由垃圾收集器管理,则调用该对象的方法并添加额外的垃圾收集器开销。

版本2.6中的新功能。

sys._getframe([ 深度] )
从调用堆栈返回一个框架对象。如果给出了可选的整数深度,则返回堆栈顶部下方多次调用的帧对象。如果它比调用堆栈更深,ValueError则引发。深度的默认值为零,返回调用堆栈顶部的帧。

**CPython实现细节:**此函数仅用于内部和专用目的。并不保证在Python的所有实现中都存在。

sys.getprofile()
获取设置的探查器功能setprofile()。

版本2.6中的新功能。

sys.gettrace()
获取设置的跟踪功能settrace()。

CPython实现细节:该gettrace()函数仅用于实现调试器,分析器,覆盖工具等。它的行为是实现平台的一部分,而不是语言定义的一部分,因此可能并非在所有Python实现中都可用。

版本2.6中的新功能。

sys.getwindowsversion()
返回一个描述当前正在运行的Windows版本的命名元组。命名元素是major,minor, build,platform,service_pack,service_pack_minor, service_pack_major,suite_mask和product_type。 service_pack包含一个字符串,而所有其他值都是整数。组件也可以通过名称访问,因此 sys.getwindowsversion()[0]相当于 sys.getwindowsversion().major。为了与先前版本兼容,只能通过索引检索前5个元素。

平台可能是以下值之一:

不变平台
0 (VER_PLATFORM_WIN32s)Windows 3.1上的Win32s
1 (VER_PLATFORM_WIN32_WINDOWS)Windows 95/98 / ME
2 (VER_PLATFORM_WIN32_NT)Windows NT / 2000 / XP / x64
3 (VER_PLATFORM_WIN32_CE)Windows CE

product_type可能是以下值之一:

不变含义
1 (VER_NT_WORKSTATION)该系统是一个工作站。
2 (VER_NT_DOMAIN_CONTROLLER)该系统是域控制器。
3 (VER_NT_SERVER)系统是服务器,但不是域控制器。

这个函数包装了Win32 GetVersionEx()函数; OSVERSIONINFOEX()有关这些字段的详细信息,请参阅Microsoft文档。

可用性:Windows。

版本2.3中的新功能。

在2.7版中更改:更改为命名元组并添加了service_pack_minor, service_pack_major,suite_mask和product_type。

sys.hexversion
版本号编码为单个整数。每个版本都保证会增加,包括对非生产版本的适当支持。例如,要测试Python解释器至少是1.5.2版,请使用:

if sys.hexversion >= 0x010502F0:
    # use some advanced feature
    ...
else:
    # use an alternative implementation or warn the user
    ...

这被调用,hexversion因为它只是在将其作为将其传递给内置hex()函数的结果时才真正看起来有意义。该 version_info值可以用于对人工友好的相同信息的编码。

这hexversion是一个32位数字,具有以下布局:

比特(大端序)含义
1-8PY_MAJOR_VERSION (2在 2.1.0a3)
9-16PY_MINOR_VERSION (1在 2.1.0a3)
17-24PY_MICRO_VERSION (0在 2.1.0a3)
25-28PY_RELEASE_LEVEL (0xA用于alpha, 0xB用于beta,0xC用于候选发布版和0xF最终版)
29-32PY_RELEASE_SERIAL (在3中 2.1.0a3,零为最终释放)

因此2.1.0a3是hexversion 0x020100a3。

1.5.2版中的新功能。

sys.long_info
一个结构序列,包含有关Python内部整数表示的信息。属性是只读的。

属性说明
bits_per_digit每个数字中保持的位数。Python整数存储在base的内部 2**long_info.bits_per_digit
sizeof_digit用于表示数字的C类型的字节大小

版本2.7中的新功能。

sys.last_type
sys.last_value
sys.last_traceback
这三个变量并不总是定义的; 它们在未处理异常时设置,并且解释器打印错误消息和堆栈回溯。它们的用途是允许交互式用户导入调试器模块并进行事后调试,而无需重新执行导致错误的命令。(典型用法是进入事后调试器; 有关详细信息,请参阅pdb一章- Python调试器。)import pdb; pdb.pm()

变量的含义与exc_info()上面的返回值相同 。(由于只有一个交互式线程,因此线程安全性不是这些变量的关注点,不像exc_type 等等)

sys.maxint
Python常规整数类型支持的最大正整数。这至少是2 ** 31-1。最大的负整数是-maxint-1- 使用2的补码二进制算法产生的不对称性。

sys.maxsize
平台的Py_ssize_t类型支持的最大正整数,因此最大大小的列表,字符串,dicts和许多其他容器都可以。

sys.maxunicode
一个整数,表示Unicode字符支持的最大代码点。其值取决于配置选项,该选项指定Unicode字符是存储为UCS-2还是UCS-4。

sys.meta_path
调用其方法的finder对象列表,find_module()以查看其中一个对象是否可以找到要导入的模块。find_module()至少使用要导入的模块的绝对名称调用该方法。如果要导入的模块包含在包中,则父包的path属性作为第二个参数传入。None如果找不到模块,则返回该方法,否则返回加载器。

sys.meta_path在任何隐式默认查找器或之前搜索 sys.path。

看到 PEP 302用于原始规范。

sys.modules
这是一个将模块名称映射到已加载的模块的字典。这可以被操纵以强制重新加载模块和其他技巧。注意,从本字典移除模块是不与调用 reload()相应的模块对象上。

sys.path
一个字符串列表,指定模块的搜索路径。从环境变量初始化PYTHONPATH,加上依赖于安装的默认值。

在程序启动时初始化时,此列表的第一项path[0]是包含用于调用Python解释器的脚本的目录。如果脚本目录不可用(例如,如果以交互方式调用解释器或者从标准输入读取脚本), path[0]则是空字符串,它指示Python首先搜索当前目录中的模块。请注意,脚本目录是在插入 条目之前插入的PYTHONPATH。

程序可以自行修改此列表。

在版本2.3中更改:不再忽略Unicode字符串。

sys.path_hooks
一个callables列表,它采用path参数来尝试为路径创建 finder。如果可以创建一个查找程序,它将由callable返回,否则加注ImportError。

最初指定于 PEP 302。

sys.path_importer_cache
充当查找程序对象缓存的字典。键是已传递到的路径,sys.path_hooks值是找到的查找程序。如果路径是有效的文件系统路径但未找到显式查找器,sys.path_hooks则None存储表示应使用隐式默认查找器。如果路径不是现有路径,则imp.NullImporter设置。

最初指定于 PEP 302。

sys.platform
例如,该字符串包含一个平台标识符,可用于附加特定于平台的组件sys.path。

对于大多数Unix系统,这是由附加返回的版本的第一部分返回的小写OS名称,例如,在构建Python时。除非您要测试特定的系统版本,否则建议使用以下习惯用法:uname -suname -r’sunos5’

if sys.platform.startswith('freebsd'):
    # FreeBSD-specific code here...
elif sys.platform.startswith('linux'):
    # Linux-specific code here...

版本2.7.3中更改:由于大量代码检查,并且Linux 2.x和3.x之间没有必要的更改,因此即使在Linux 3.x上也始终设置为。在Python 3.3及更高版本中,该值将始终设置为,因此建议始终使用上面提到的习语。sys.platform == ‘linux2’sys.platform’linux2”linux’startswith

对于其他系统,值为:

系统platform值
Linux(2.x 和 3.x)‘linux2’
视窗‘win32’
在Windows / Cygwin的‘cygwin’
Mac OS X.‘darwin’
OS / 2‘os2’
OS / 2 EMX‘os2emx’
里斯科斯‘riscos’
AtheOS‘atheos’

也可以看看 os.name具有更粗糙的粒度。 os.uname()提供依赖于系统的版本信息。
该platform模块提供系统身份的详细检查。

sys.prefix
一个字符串,给出了特定于站点的目录前缀,其中安装了与平台无关的Python文件; 默认情况下,这是字符串 ‘/usr/local’。这可以在构建时使用configure脚本的–prefix 参数进行设置。Python库模块的主要集合安装在目录中, 而平台独立的头文件(所有除外)存储在其中,其中XY是例如Python的版本号。prefix/lib/pythonX.Ypyconfig.hprefix/include/pythonX.Y2.7

sys.ps1
sys.ps2
指定解释器的主要和辅助提示的字符串。仅在解释器处于交互模式时才定义这些。在这种情况下,它们的初始值是和。如果将非字符串对象分配给任一变量,则每次解释器准备读取新的交互式命令时都会重新评估该变量。这可以用来实现动态提示。’>>> ”… ‘str()

sys.py3kwarning
Bool包含Python 3警告标志的状态。这True 是使用-3选项启动Python 的时候。(这应该被认为是只读的;将其设置为不同的值对Python 3警告没有影响。)

版本2.6中的新功能。

sys.setcheckinterval(间隔)
设置解释器的“检查间隔”。此整数值确定解释器检查周期性事物(如线程切换和信号处理程序)的频率。默认值是100,意味着每100条Python虚拟指令执行一次检查。将其设置为更大的值可能会提高使用线程的程序的性能。将其设置为值<=0将检查每个虚拟指令,从而最大限度地提高响应速度和开销。

sys.setdefaultencoding(名字)
设置Unicode实现使用的当前默认字符串编码。如果 name与任何可用编码不匹配,LookupError则引发。此功能仅供site模块实现使用,并在需要时由sitecustomize。一旦 site模块使用,它就会从sys模块的命名空间中删除。

2.0版中的新功能。

sys.setdlopenflags(n )
设置解释器用于dlopen()调用的标志,例如解释器加载扩展模块时。除此之外,这将在导入模块时启用符号的惰性解析(如果被称为) sys.setdlopenflags(0)。要在扩展模块之间共享符号,请调用 。标志模块的符号名称可以在模块中找到,也可以在模块中找到 。如果不可用,则可以使用h2py脚本生成它 。可用性:Unix。sys.setdlopenflags(dl.RTLD_NOW | dl.RTLD_GLOBAL)dlDLFCNDLFCN/usr/include/dlfcn.h

版本2.2中的新功能。

sys.setprofile(profilefunc )
设置系统的配置文件功能,允许您在Py​​thon中实现Python源代码分析器。有关Python探查器的更多信息,请参阅Python Profilers一章。系统的配置文件函数的调用类似于系统的跟踪函数(请参阅参考资料settrace()),但是它使用不同的事件进行调用,例如,不会为每个执行的代码行调用它(仅在调用和返回时调用它,但会报告返回事件即使设置了异常)。该函数是特定于线程的,但是探查器无法知道线程之间的上下文切换,因此在存在多个线程时使用它是没有意义的。此外,它的返回值没有使用,所以它可以简单地返回None。

配置文件函数应该有三个参数:frame,event和 arg。frame是当前的堆栈帧。 事件是一个字符串:’call’, ‘return’,’c_call’,’c_return’,或’c_exception’。arg取决于事件类型。

事件具有以下含义:

'call'
    调用一个函数(或输入一些其他代码块)。调用配置文件功能; arg是None。
'return'
    函数(或其他代码块)即将返回。调用配置文件功能; arg是将返回的值,或者None 事件是由引发的异常引起的。
'c_call'
    AC功能即将被调用。这可以是扩展功能或内置功能。 arg是C函数对象。
'c_return'
AC功能已返回。arg是C函数对象。
'c_exception'
AC功能引发了异常。 arg是C函数对象。

sys.setrecursionlimit(限制)
设置Python解释器堆栈的最大深度以限制。此限制可防止无限递归导致C堆栈溢出并导致Python崩溃。

最高可能的限制取决于平台。当用户需要深度递归的程序和支持更高限制的平台时,用户可能需要设置更高的限制。这应该小心,因为太高的限制可能导致崩溃。

sys.settrace(tracefunc )
设置系统的跟踪功能,允许您在Py​​thon中实现Python源代码调试器。该函数是特定于线程的; 对于支持多线程的调试器,必须settrace()为每个正在调试的线程注册它 。

跟踪函数应该有三个参数:frame,event和 arg。frame是当前的堆栈帧。 事件是一个字符串:’call’, ‘line’,’return’或’exception’。 arg取决于事件类型。

每当输入新的本地范围时,都会调用跟踪函数(事件设置为’call’); 它应该返回对该范围使用的本地跟踪函数的引用,或者None是否应该跟踪范围。

本地跟踪函数应该返回对自身的引用(或者返回另一个函数以便在该范围内进一步跟踪),或者None关闭该范围内的跟踪。

事件具有以下含义:

'call'
调用一个函数(或输入一些其他代码块)。调用全局跟踪函数; arg是None; 返回值指定本地跟踪功能。
'line'
解释器即将执行新的代码行或重新执行循环的条件。调用本地跟踪功能; arg是 None; 返回值指定新的本地跟踪功能。有关Objects/lnotab_notes.txt其工作原理的详细说明,请参阅 。
'return'
函数(或其他代码块)即将返回。调用本地跟踪功能; arg是将返回的值,或者None 事件是由引发的异常引起的。跟踪函数的返回值被忽略。
'exception'
发生了一个例外。调用本地跟踪功能; arg是一个元组; 返回值指定新的本地跟踪功能。(exception, value, traceback)

请注意,由于异常沿着调用者链向下传播,因此’exception’会在每个级别生成一个 事件。

有关代码和框架对象的更多信息,请参阅标准类型层次结构

CPython实现细节:该settrace()函数仅用于实现调试器,分析器,覆盖工具等。它的行为是实现平台的一部分,而不是语言定义的一部分,因此可能并非在所有Python实现中都可用。

sys.settscdump(on_flag )
如果on_flag为true ,则使用Pentium时间戳计数器激活VM测量的转储 。如果on_flag关闭,请停用这些转储。只有在编译Python时,该函数才可用–with-tsc。要了解此转储的输出,请阅读Python/ceval.cPython源代码。

版本2.4中的新功能。

CPython实现细节:此函数与CPython实现细节密切相关,因此不太可能在其他地方实现。

sys.stdin
sys.stdout
sys.stderr
与解释器的标准输入,输出和错误流相对应的文件对象。 stdin用于除脚本之外的所有解释器输入,但包括对input()和的调用raw_input()。 stdout用于输出print和表达语句和用于提示input()和raw_input()。解释器自己的提示和(几乎所有)其错误消息都会转到stderr。 stdout并且 stderr不需要是内置文件对象:任何对象都是可接受的,只要它有一个write()带字符串参数的方法即可。(改变这些对象不影响标准的由执行的处理I / O流 os.popen(),os.system()或所述exec*()的函数家族os模块。)

sys._stdin_
sys._stdout_
sys._stderr_
这些对象包含的原始值stdin,stderr并 stdout在程序的开始。它们在最终确定期间使用,无论sys.std*对象是否已被重定向,它都可用于打印到实际的标准流 。

它还可以用于将实际文件还原到已知的工作文件对象,以防它们被破坏的对象覆盖。但是,执行此操作的首选方法是在替换之前显式保存先前的流,并还原已保存的对象。

sys.subversion
表示Python解释器的Subversion信息的三元组(repo,branch,version)。repo是存储库的名称’CPython’。 branch是一个表单的字符串’trunk’,’branches/name’或 ‘tags/name’。如果解释器是从Subversion结帐构建的,则version是输出svnversion; 它包含修订号(范围),如果有本地修改,可能包含尾随’M’。如果树被导出(或者svnversion不可用),那么它是Include/patchlevel.h分支是标记的修订版 。否则就是None。

2.5版中的新功能。

注意 Python现在使用Mercurial 开发。因此,在最近的Python 2.7 bugfix版本中,subversion 包含占位符信息。它在Python 3.3中被删除。

sys.tracebacklimit
当此变量设置为整数值时,它确定发生未处理的异常时打印的最大回溯信息级别数。默认是1000。设置为0或更小时,将抑制所有回溯信息,并仅打印异常类型和值。

sys.version
一个字符串,包含Python解释器的版本号以及有关使用的内部版本号和编译器的附加信息。启动交互式解释器时会显示此字符串。不要从中提取版本信息,而是使用模块version_info提供的功能 platform。

sys.api_version
此解释器的C API版本。在调试Python和扩展模块之间的版本冲突时,程序员可能会发现这很有用。

版本2.3中的新功能。

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

,而是使用模块version_info提供的功能 platform。

sys.api_version
此解释器的C API版本。在调试Python和扩展模块之间的版本冲突时,程序员可能会发现这很有用。

版本2.3中的新功能。

[外链图片转存中…(img-Yt5NRH8Z-1715637872525)]
[外链图片转存中…(img-X7pkHhJw-1715637872525)]
[外链图片转存中…(img-zz0OekyC-1715637872526)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值