Python sys系统包学习笔记

03Programming程序设计 专栏收录该内容
1 篇文章 0 订阅

官方参考链接

https://docs.python.org/3.7/library/sys.html

参考文档简单翻译

sys.abiflags
在使用标准configure 脚本构建Python的POSIX系统上,它包含指定的ABI标志PEP 3149。

版本3.2中的新功能。

sys.argv
传递给Python脚本的命令行参数列表。argv[0]是脚本名称(取决于操作系统是否为完整路径名)。如果使用-c解释器的命令行选项执行命令,argv[0]则将其设置为字符串’-c’。如果没有脚本名称传递给Python解释器,argv[0]则为空字符串。

要循环标准输入或命令行上给出的文件列表,请参阅fileinput模块。

sys.base_exec_prefix
在Python启动期间,在site.py运行之前设置为与之相同的值 exec_prefix。如果未在虚拟环境中运行 ,则值将保持不变; 如果 site.py发现一个虚拟环境是在使用中,的值 prefix和exec_prefix将被改变为指向所述虚拟环境,而base_prefix与 base_exec_prefix将保持指向基Python安装(其虚拟环境是从创建的)。

版本3.3中的新功能。

sys.base_prefix
在Python启动期间,在site.py运行之前设置为与之相同的值 prefix。如果未在虚拟环境中运行,则值将保持不变; 如果site.py发现一个虚拟环境是在使用中,的值prefix和exec_prefix将被改变为指向所述虚拟环境,而base_prefix与 base_exec_prefix将保持指向基Python安装(其虚拟环境是从创建的)。

版本3.3中的新功能。

sys.byteorder
本机字节顺序的指示符。这将’big’在big-endian(最重要的字节优先)平台和’little’little-endian(最不重要的字节优先)平台上具有价值。

sys.builtin_module_names
一个字符串元组,给出了编译到此Python解释器中的所有模块的名称。(此信息不以任何其他方式提供 - modules.keys()仅列出导入的模块。)

sys.call_tracing(func,args )
func(*args)启用跟踪时调用。跟踪状态被保存,然后恢复。这是从调试器从检查点调用,以递归调试其他一些代码。

sys.copyright
包含与Python解释器相关的版权的字符串。

sys._clear_type_cache()
清除内部类型缓存。类型缓存用于加速属性和方法查找。仅在参考泄漏调试期间使用该函数删除不必要的引用。

此功能仅用于内部和专门用途。

sys._current_frames()
返回一个字典,将每个线程的标识符映射到调用该函数时该线程中当前活动的最顶层堆栈帧。请注意,traceback模块中的函数可以在给定这样的帧的情况下构建调用堆栈。

这对于调试死锁非常有用:此函数不需要死锁线程的协作,只要这些线程的调用堆栈保持死锁,它们就会被冻结。对于非死锁线程返回的帧在调用代码检查帧时可能与该线程的当前活动没有关系。

此功能仅用于内部和专门用途。

sys.breakpointhook()
这个钩子函数由内置函数调用breakpoint()。默认情况下,它会将您放入pdb调试器中,但可以将其设置为任何其他函数,以便您可以选择使用哪个调试器。

该函数的签名取决于它所调用的内容。例如,默认绑定(例如pdb.set_trace())不需要参数,但您可以将其绑定到需要其他参数(位置和/或关键字)的函数。内置breakpoint()函数将其*args和**kws直通。无论breakpointhooks()返回什么 回报breakpoint()。

默认实现首先参考环境变量 PYTHONBREAKPOINT。如果设置为"0"则此函数立即返回; 即它是一个无操作。如果未设置环境变量,或者设置为空字符串,pdb.set_trace()则调用。否则,此变量应使用Python的点分导入命名法命名要运行的函数,例如package.subpackage.module.function。在这种情况下,package.subpackage.module将导入并且生成的模块必须具有可调用的名称function()。这是运行,传入*args和**kws,无论什么function()返回, sys.breakpointhook()返回到内置breakpoint() 函数。

请注意,如果导入名为by的callable时出现任何问题 PYTHONBREAKPOINT,RuntimeWarning报告a并忽略断点。

另请注意,如果sys.breakpointhook()以编程方式覆盖, PYTHONBREAKPOINT是不是咨询。

版本3.7中的新功能。

sys._debugmallocstats()
向stderr打印关于CPython内存分配器状态的低级信息。

如果Python配置为-with-pydebug,它还会执行一些昂贵的内部一致性检查。

版本3.3中的新功能。

CPython实现细节:此函数特定于CPython。此处未定义确切的输出格式,可能会更改。

sys.dllhandle
整数指定Python DLL的句柄。

可用性:Windows。

sys.displayhook(值)
如果值是不是None,这个函数打印repr(value)到 sys.stdout,并保存价值在builtins._。如果repr(value)无法sys.stdout.encoding使用sys.stdout.errors错误处理程序(可能’strict’)编码,请sys.stdout.encoding使用’backslashreplace’错误处理程序对其进行编码 。

sys.displayhook调用在 交互式Python会话中输入的表达式的结果。可以通过为其分配另一个单参数函数来自定义这些值的显示sys.displayhook。

sys.dont_write_bytecode
如果是这样,Python将不会尝试.pyc在导入源模块时编写文件。此值最初设置为True或 False取决于-B命令行选项和 PYTHONDONTWRITEBYTECODE 环境变量,但您可以自己设置它来控制字节码文件的生成。

sys.excepthook(类型,值,回溯)
此函数打印出给定的回溯和异常sys.stderr。

当引发异常并且未被捕获时,解释器sys.excepthook使用三个参数调用 ,即异常类,异常实例和回溯对象。在交互式会话中,这发生在控制返回到提示之前; 在Python程序中,这发生在程序退出之前。可以通过为其分配另一个三参数函数来自定义这种顶级异常的处理sys.excepthook。

sys.breakpointhook
sys.displayhook
sys.excepthook
这些对象包含的原始值breakpointhook, displayhook以及excepthook在程序的开始。它们被保存,这样breakpointhook,displayhook和excepthook的情况下可以恢复他们碰巧得到碎或替代物取代。

版本3.7中的新功能: __ breakpointhook__

sys.exc_info()
此函数返回三个值的元组,这些值提供有关当前正在处理的异常的信息。返回的信息特定于当前线程和当前堆栈帧。如果当前堆栈帧未处理异常,则从调用堆栈帧或其调用者获取信息,依此类推,直到找到正在处理异常的堆栈帧。这里,“处理异常”被定义为“执行except子句。”对于任何堆栈帧,只能访问有关当前处理的异常的信息。

如果堆栈中的任何位置都没有处理异常,None则返回包含三个值的元组。否则,返回的值是 。它们的含义是:type获取正在处理的异常的类型(子类); value获取异常实例(异常类型的实例); traceback获取一个回溯对象(请参阅参考手册),该对象将调用堆栈封装在最初发生异常的位置。(type, value, traceback)BaseException

sys.exec_prefix
一个字符串,给出了特定于站点的目录前缀,其中安装了与平台相关的Python文件; 默认情况下,这也是’/usr/local’。这可以在构建时使用configure脚本的–exec-prefix参数 进行设置。具体来说,所有配置文件(例如 头文件)都安装在目录中,并且安装了 共享库模块,其中XY 是Python的版本号。pyconfig.hexec_prefix/lib/pythonX.Y/configexec_prefix/lib/pythonX.Y/lib-dynload3.2

注意 如果虚拟环境生效,则会将此值更改site.py为指向虚拟环境。通过,仍然可以使用Python安装的值 base_exec_prefix。
sys.executable
一个字符串,给出Python解释器的可执行二进制文件的绝对路径,在有意义的系统上。如果Python无法检索其可执行文件的真实路径,sys.executable则将为空字符串或None。

sys.exit([ arg ] )
退出Python。这是通过引发SystemExit 异常来实现的,因此最终的try 语句子句指定的清理操作得到遵守,并且可以拦截外层的退出尝试。

可选参数arg可以是一个整数,给出退出状态(默认为零)或其他类型的对象。如果它是整数,则零被认为是“成功终止”,并且任何非零值被贝壳等视为“异常终止”。大多数系统要求它在0-127范围内,否则会产生不确定的结果。有些系统有一个约定,用于为特定的退出代码分配特定的含义,但这些通常是不发达的; Unix程序通常使用2表示命令行语法错误,1表示所有其他类型的错误。如果传递了另一种类型的对象,None则相当于传递零,并且打印任何其他对象stderr并导致退出代码为1.特别是sys.exit(“some error message”) 发生错误时退出程序的快速方法。

由于exit()最终“only”引发了一个异常,它只会在从主线程调用时退出进程,并且异常不会被截获。

在版本3.6中更改:如果Python解释器捕获后清除中发生错误SystemExit(例如标准流中的缓冲数据刷新错误),则退出状态将更改为120。

sys.flags
该结构序列 标志暴露的命令行标志的状态。属性是只读的。

sys.float_info
包含有关浮点类型的信息的结构序列。它包含有关精度和内部表示的低级信息。这些值对应于float.h’C’编程语言的标准头文件中定义的各种浮点常量; 有关详细信息,请参见1999 ISO / IEC C标准[C99]第5.2.4.2.2节 “浮动类型的特性”。

sys.float_repr_style
一个字符串,指示repr()函数对浮点数的行为方式。如果字符串具有值,'short’则对于有限浮点数x,repr(x)旨在生成具有该属性的短字符串。这是Python 3.1及更高版本中的常见行为。否则,其值 和行为方式与3.1之前的Python版本相同。float(repr(x)) == xfloat_repr_style’legacy’repr(x)

3.1版中的新功能。

sys.getallocatedblocks()
返回解释器当前分配的内存块数,无论其大小如何。此功能主要用于跟踪和调试内存泄漏。由于解释器的内部缓存,结果可能因呼叫而异; 您可能需要致电 _clear_type_cache()并gc.collect()获得更可预测的结果。

如果Python构建或实现无法合理地计算此信息,getallocatedblocks()则允许返回0。

版本3.4中的新功能。

sys.getandroidapilevel()
以整数形式返回Android的构建时API版。

可用性:Android。

版本3.7中的新功能。

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

从版本3.2开始不推荐使用:getswitchinterval()改为使用。

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

sys.getdlopenflags()
返回用于dlopen()调用的标志的当前值 。可以在os模块中找到标志值的符号名称(RTLD_xxx例如,常量 os.RTLD_LAZY)。

可用性:Unix。

sys.getfilesystemencoding()
返回用于在Unicode文件名和字节文件名之间进行转换的编码名称。为了获得最佳兼容性,在所有情况下都应将str用于文件名,尽管也支持将文件名表示为字节。接受或返回文件名的函数应支持str或bytes,并在内部转换为系统的首选表示。

此编码始终与ASCII兼容。

os.fsencode()并os.fsdecode()应用于确保使用正确的编码和错误模式。

在UTF-8模式下,编码utf-8在任何平台上。
在Mac OS X上,编码是’utf-8’。
在Unix上,编码是语言环境编码。
在Windows上,编码可能是’utf-8’或’mbcs’,取决于用户配置。
版本3.2中已更改:getfilesystemencoding()结果不能再存在None了。

在版本3.6中更改: Windows不再保证返回’mbcs’。看到PEP 529 和_enablelegacywindowsfsencoding()更多信息。

在版本3.7中更改:在UTF-8模式下返回’utf-8’。

sys.getfilesystemencodeerrors()
返回用于在Unicode文件名和字节文件名之间进行转换的错误模式的名称。编码名称从中返回 getfilesystemencoding()。

os.fsencode()并os.fsdecode()应用于确保使用正确的编码和错误模式。

版本3.6中的新功能。

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

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

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

仅考虑直接归因于对象的内存消耗,而不考虑它所引用的对象的内存消耗。

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

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

有关递归 使用getsizeof()以查找容器大小及其所有内容的示例,请参阅recursive sizeof recipe。

sys.getswitchinterval()
返回解释器的“线程切换间隔”; 看 setswitchinterval()。

版本3.2中的新功能。

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

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

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

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

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

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

sys.get_asyncgen_hooks()
返回一个asyncgen_hooks对象,它类似于一个 namedtuple形式(firstiter,finalizer),其中firstiter和finalizer应该是None或者将异步生成器迭代器作为参数的函数,并用于调度异步生成器的最终化通过事件循环。

版本3.6中的新功能:请参阅PEP 525了解更多详情。

注意 此功能已临时添加(请参阅 PEP 411 了解详情。)
sys.get_coroutine_origin_tracking_depth()
获取当前的协程源跟踪深度,如下所示 set_coroutine_origin_tracking_depth()。

版本3.7中的新功能。

注意 此功能已临时添加(请参阅 PEP 411 了解详细信息。)仅用于调试目的。
sys.get_coroutine_wrapper()
返回None,或由…设置的包装器set_coroutine_wrapper()。

版本3.5中的新功能:请参阅PEP 492了解更多详情。

注意 此功能已临时添加(请参阅 PEP 411 了解详细信息。)仅用于调试目的。
从版本3.7开始不推荐使用:协程包装器功能已被弃用,将在3.8中删除。有关详细信息,请参阅bpo-32591。

sys.hash_info
一个结构顺序给数字散列执行参数。有关数值类型哈希的更多详细信息,请参阅 数值类型的哈希。

sys.hexversion
版本号编码为单个整数。每个版本都保证会增加,包括对非生产版本的适当支持。

sys.implementation
一个对象,包含有关当前运行的Python解释器的实现的信息。所有Python实现中都需要以下属性。

name是实现的标识符,例如’cpython’。实际的字符串由Python实现定义,但保证是小写的。

version是一个命名元组,格式与 sys.version_info。它代表了Python 实现的版本 。这与当前运行的解释器符合的Python 语言的特定版本具有不同的含义,即sys.version_info代表。例如,对于PyPy 1.8 sys.implementation.version可能是 ,而 将是。对于CPython,它们是相同的值,因为它是参考实现。sys.version_info(1, 8, 0, ‘final’, 0)sys.version_infosys.version_info(2, 7, 2, ‘final’, 0)

hexversion是十六进制格式的实现版本,如 sys.hexversion。

cache_tag是导入机制在缓存模块的文件名中使用的标记。按照惯例,它将是实现的名称和版本的组合,如’cpython-33’。但是,如果合适,Python实现可能会使用其他一些值。如果 cache_tag设置为None,则表示应禁用模块缓存。

sys.implementation可能包含特定于Python实现的其他属性。这些非标准属性必须以下划线开头,此处不再赘述。无论其内容如何, sys.implementation在解释器运行期间或实现版本之间都不会更改。(但是,它可能会在Python语言版本之间发生变化。)请参阅PEP 421了解更多信息。

版本3.3中的新功能。

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

sys.interactivehook
当此属性存在时,在交互模式下启动解释器时,将自动调用其值(不带参数)。这是在完成之后完成的PYTHONSTARTUP读取文件,以便您可以在此处设置此挂钩。该site模块 设置了这个。

版本3.4中的新功能。

sys.intern(字符串)
在“interned”字符串表中输入字符串并返回实习字符串 - 字符串本身或副本。实习字符串对于在字典查找中获得一点性能很有用 - 如果字典中的键被中断,并且查找键被实现,则可以通过指针比较而不是字符串比较来完成键比较(在散列之后)。通常,Python程序中使用的名称会自动实现,而用于保存模块,类或实例属性的字典具有实习键。

实习字符串不是不朽的; 你必须保持对intern()周围的返回值的引用才能从中受益。

sys.is_finalizing()
True如果Python解释器正在关闭则 返回,False否则返回。

版本3.5中的新功能。

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

变量的含义与exc_info()上面的返回值相同 。

sys.maxsize
给出最大值的整数可以是类型的变量Py_ssize_t。它通常位于32位平台和64位平台上。231 - 1263 - 1

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

在版本3.3中更改:之前PEP 393,sys.maxunicode曾经是0xFFFF 或者0x10FFFF,取决于指定Unicode字符是否存储为UCS-2或UCS-4的配置选项。

sys.meta_path
元路径查找器对象的列表,其 find_spec()方法被调用以查看其中一个对象是否可以找到要导入的模块。find_spec()至少使用要导入的模块的绝对名称调用该 方法。如果要导入的模块包含在包中,则父包的__path__ 属性将作为第二个参数传入。该方法返回 模块规范,或者None无法找到模块。
sys.modules
这是一个将模块名称映射到已加载的模块的字典。这可以被操纵以强制重新加载模块和其他技巧。但是,替换字典不一定按预期工作,从字典中删除基本项可能会导致Python失败。

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

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

程序可以自行修改此列表。只应添加字符串和字节sys.path; 导入期间将忽略所有其他数据类型。

也可以看看 模块site介绍如何使用.pth文件进行扩展 sys.path。
sys.path_hooks
一个callables列表,它采用path参数来尝试为路径创建 finder。如果可以创建一个finder,它将由callable返回,否则加注ImportError。

最初指定于 PEP 302。

sys.path_importer_cache
充当查找程序对象缓存的字典。键是已传递到的路径,sys.path_hooks值是找到的查找程序。如果路径是有效的文件系统路径但未找到查找器,sys.path_hooks则None存储该路径。

最初指定于 PEP 302。

更改版本3.3:None存储而不是imp.NullImporter在找不到查找程序时。

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

对于Unix系统,除了在Linux上,这是因为返回由小写的操作系统名称与版本的第一部分由返回 追加,例如或者,在当时的Python建时。除非您要测试特定的系统版本,否则建议使用以下习惯用法:uname -suname -r’sunos5’‘freebsd8’

检查内置帮助文档

开始>>运行“cmd”命令行。
进入python。
C:\Users\Johnson>python
Python 3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type “help”, “copyright”, “credits” or “license” for more information.

>>>import sys
>>>dir(sys)
>>>help(sys)

dir(sys)查看sys系统包子模块

>>> dir(sys)
['__breakpointhook__', '__displayhook__', '__doc__', '__excepthook__', '__interactivehook__', '__loader__', '__name__', '__package__', '__spec__', '__stderr__', '__stdin__', '__stdout__', '_clear_type_cache', '_current_frames', '_debugmallocstats', '_enablelegacywindowsfsencoding', '_framework', '_getframe', '_git', '_home', '_xoptions', 'api_version', 'argv', 'base_exec_prefix', 'base_prefix', 'breakpointhook', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright', 'displayhook', 'dllhandle', 'dont_write_bytecode', 'exc_info', 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info', 'float_repr_style', 'get_asyncgen_hooks', 'get_coroutine_origin_tracking_depth', 'get_coroutine_wrapper', 'getallocatedblocks', 'getcheckinterval', 'getdefaultencoding', 'getfilesystemencodeerrors', 'getfilesystemencoding', 'getprofile', 'getrecursionlimit', 'getrefcount', 'getsizeof', 'getswitchinterval', 'gettrace', 'getwindowsversion', 'hash_info', 'hexversion', 'implementation', 'int_info', 'intern', 'is_finalizing', 'last_traceback', 'last_type', 'last_value', 'maxsize', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'ps1', 'ps2', 'set_asyncgen_hooks', 'set_coroutine_origin_tracking_depth', 'set_coroutine_wrapper', 'setcheckinterval', 'setprofile', 'setrecursionlimit', 'setswitchinterval', 'settrace', 'stderr', 'stdin', 'stdout', 'thread_info', 'version', 'version_info', 'warnoptions', 'winver']

help(sys)查看sys系统包内置帮助信息

>>> help(sys)
Help on built-in module sys:

NAME
    sys

MODULE REFERENCE
    https://docs.python.org/3.7/library/sys

    The following documentation is automatically generated from the Python
    source files.  It may be incomplete, incorrect or include features that
    are considered implementation detail and may vary between Python
    implementations.  When in doubt, consult the module reference at the
    location listed above.

DESCRIPTION
    This module provides access to some objects used or maintained by the
    interpreter and to functions that interact strongly with the interpreter.

    Dynamic objects:

    argv -- command line arguments; argv[0] is the script pathname if known
    path -- module search path; path[0] is the script directory, else ''
    modules -- dictionary of loaded modules

    displayhook -- called to show results in an interactive session
    excepthook -- called to handle any uncaught exception other than SystemExit
      To customize printing in an interactive session or to install a custom
      top-level exception handler, assign other functions to replace these.

    stdin -- standard input file object; used by input()
    stdout -- standard output file object; used by print()
    stderr -- standard error object; used for error messages
      By assigning other file objects (or objects that behave like files)
      to these, it is possible to redirect all of the interpreter's I/O.

    last_type -- type of last uncaught exception
    last_value -- value of last uncaught exception
    last_traceback -- traceback of last uncaught exception
      These three are only available in an interactive session after a
      traceback has been printed.

    Static objects:

    builtin_module_names -- tuple of module names built into this interpreter
    copyright -- copyright notice pertaining to this interpreter
    exec_prefix -- prefix used to find the machine-specific Python library
    executable -- absolute path of the executable binary of the Python interpreter
    float_info -- a struct sequence with information about the float implementation.
    float_repr_style -- string indicating the style of repr() output for floats
    hash_info -- a struct sequence with information about the hash algorithm.
    hexversion -- version information encoded as a single integer
    implementation -- Python implementation information.
    int_info -- a struct sequence with information about the int implementation.
    maxsize -- the largest supported length of containers.
    maxunicode -- the value of the largest Unicode code point
    platform -- platform identifier
    prefix -- prefix used to find the Python library
    thread_info -- a struct sequence with information about the thread implementation.
    version -- the version of this interpreter as a string
    version_info -- version information as a named tuple
    dllhandle -- [Windows only] integer handle of the Python DLL
    winver -- [Windows only] version number of the Python DLL
    _enablelegacywindowsfsencoding -- [Windows only]
    __stdin__ -- the original stdin; don't touch!
    __stdout__ -- the original stdout; don't touch!
    __stderr__ -- the original stderr; don't touch!
    __displayhook__ -- the original displayhook; don't touch!
    __excepthook__ -- the original excepthook; don't touch!

    Functions:

    displayhook() -- print an object to the screen, and save it in builtins._
    excepthook() -- print an exception and its traceback to sys.stderr
    exc_info() -- return thread-safe information about the current exception
    exit() -- exit the interpreter by raising SystemExit
    getdlopenflags() -- returns flags to be used for dlopen() calls
    getprofile() -- get the global profiling function
    getrefcount() -- return the reference count for an object (plus one :-)
    getrecursionlimit() -- return the max recursion depth for the interpreter
    getsizeof() -- return the size of an object in bytes
    gettrace() -- get the global debug tracing function
    setcheckinterval() -- control how often the interpreter checks for events
    setdlopenflags() -- set the flags to be used for dlopen() calls
    setprofile() -- set the global profiling function
    setrecursionlimit() -- set the max recursion depth for the interpreter
    settrace() -- set the global debug tracing function

FUNCTIONS
    __breakpointhook__ = breakpointhook(...)
        breakpointhook(*args, **kws)

        This hook function is called by built-in breakpoint().

    __displayhook__ = displayhook(...)
        displayhook(object) -> None

        Print an object to sys.stdout and also save it in builtins._

    __excepthook__ = excepthook(...)
        excepthook(exctype, value, traceback) -> None

        Handle an exception by displaying it with a traceback on sys.stderr.

    breakpointhook(...)
        breakpointhook(*args, **kws)

        This hook function is called by built-in breakpoint().

    call_tracing(...)
        call_tracing(func, args) -> object

        Call func(*args), while tracing is enabled.  The tracing state is
        saved, and restored afterwards.  This is intended to be called from
        a debugger from a checkpoint, to recursively debug some other code.

    callstats(...)
        callstats() -> tuple of integers

        Return a tuple of function call statistics, if CALL_PROFILE was defined
        when Python was built.  Otherwise, return None.

        When enabled, this function returns detailed, implementation-specific
        details about the number of function calls executed. The return value is
        a 11-tuple where the entries in the tuple are counts of:
        0. all function calls
        1. calls to PyFunction_Type objects
        2. PyFunction calls that do not create an argument tuple
        3. PyFunction calls that do not create an argument tuple
           and bypass PyEval_EvalCodeEx()
        4. PyMethod calls
        5. PyMethod calls on bound methods
        6. PyType calls
        7. PyCFunction calls
        8. generator calls
        9. All other calls
        10. Number of stack pops performed by call_function()

    displayhook(...)
        displayhook(object) -> None

        Print an object to sys.stdout and also save it in builtins._

    exc_info(...)
        exc_info() -> (type, value, traceback)

        Return information about the most recent exception caught by an except
        clause in the current stack frame or in an older stack frame.

    excepthook(...)
        excepthook(exctype, value, traceback) -> None

        Handle an exception by displaying it with a traceback on sys.stderr.

    exit(...)
        exit([status])

        Exit the interpreter by raising SystemExit(status).
        If the status is omitted or None, it defaults to zero (i.e., success).
        If the status is an integer, it will be used as the system exit status.
        If it is another kind of object, it will be printed and the system
        exit status will be one (i.e., failure).

    get_asyncgen_hooks(...)
        get_asyncgen_hooks()

        Return a namedtuple of installed asynchronous generators hooks (firstiter, finalizer).

    get_coroutine_origin_tracking_depth()
        Check status of origin tracking for coroutine objects in this thread.

    get_coroutine_wrapper(...)
        get_coroutine_wrapper()

        Return the wrapper for coroutine objects set by sys.set_coroutine_wrapper.

    getallocatedblocks(...)
        getallocatedblocks() -> integer

        Return the number of memory blocks currently allocated, regardless of their
        size.

    getcheckinterval(...)
        getcheckinterval() -> current check interval; see setcheckinterval().

    getdefaultencoding(...)
        getdefaultencoding() -> string

        Return the current default string encoding used by the Unicode
        implementation.

    getfilesystemencodeerrors(...)
        getfilesystemencodeerrors() -> string

        Return the error mode used to convert Unicode filenames in
        operating system filenames.

    getfilesystemencoding(...)
        getfilesystemencoding() -> string

        Return the encoding used to convert Unicode filenames in
        operating system filenames.

    getprofile(...)
        getprofile()

        Return the profiling function set with sys.setprofile.
        See the profiler chapter in the library manual.

    getrecursionlimit(...)
        getrecursionlimit()

        Return the current value of the recursion limit, the maximum depth
        of the Python interpreter stack.  This limit prevents infinite
        recursion from causing an overflow of the C stack and crashing Python.

    getrefcount(...)
        getrefcount(object) -> integer

        Return the reference count of object.  The count returned is generally
        one higher than you might expect, because it includes the (temporary)
        reference as an argument to getrefcount().

    getsizeof(...)
        getsizeof(object, default) -> int

        Return the size of object in bytes.

    getswitchinterval(...)
        getswitchinterval() -> current thread switch interval; see setswitchinterval().

    gettrace(...)
        gettrace()

        Return the global debug tracing function set with sys.settrace.
        See the debugger chapter in the library manual.

    getwindowsversion(...)
        getwindowsversion()

        Return information about the running version of Windows as a named tuple.
        The members are named: major, minor, build, platform, service_pack,
        service_pack_major, service_pack_minor, suite_mask, and product_type. For
        backward compatibility, only the first 5 items are available by indexing.
        All elements are numbers, except service_pack and platform_type which are
        strings, and platform_version which is a 3-tuple. Platform is always 2.
        Product_type may be 1 for a workstation, 2 for a domain controller, 3 for a
        server. Platform_version is a 3-tuple containing a version number that is
        intended for identifying the OS rather than feature detection.

    intern(...)
        intern(string) -> string

        ``Intern'' the given string.  This enters the string in the (global)
        table of interned strings whose purpose is to speed up dictionary lookups.
        Return the string itself or the previously interned string object with the
        same value.

    is_finalizing(...)
        is_finalizing()
        Return True if Python is exiting.

    set_asyncgen_hooks(...)
        set_asyncgen_hooks(*, firstiter=None, finalizer=None)

        Set a finalizer for async generators objects.

    set_coroutine_origin_tracking_depth(depth)
        Enable or disable origin tracking for coroutine objects in this thread.

        Coroutine objects will track 'depth' frames of traceback information about
        where they came from, available in their cr_origin attribute. Set depth of 0
        to disable.

    set_coroutine_wrapper(...)
        set_coroutine_wrapper(wrapper)

        Set a wrapper for coroutine objects.

    setcheckinterval(...)
        setcheckinterval(n)

        Tell the Python interpreter to check for asynchronous events every
        n instructions.  This also affects how often thread switches occur.

    setprofile(...)
        setprofile(function)

        Set the profiling function.  It will be called on each function call
        and return.  See the profiler chapter in the library manual.

    setrecursionlimit(...)
        setrecursionlimit(n)

        Set the maximum depth of the Python interpreter stack to n.  This
        limit prevents infinite recursion from causing an overflow of the C
        stack and crashing Python.  The highest possible limit is platform-
        dependent.

    setswitchinterval(...)
        setswitchinterval(n)

        Set the ideal thread switching delay inside the Python interpreter
        The actual frequency of switching threads can be lower if the
        interpreter executes long sequences of uninterruptible code
        (this is implementation-specific and workload-dependent).

        The parameter must represent the desired switching delay in seconds
        A typical value is 0.005 (5 milliseconds).

    settrace(...)
        settrace(function)

        Set the global debug tracing function.  It will be called on each
        function call.  See the debugger chapter in the library manual.

DATA
    __stderr__ = <_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf...
    __stdin__ = <_io.TextIOWrapper name='<stdin>' mode='r' encoding='utf-8...
    __stdout__ = <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf...
    api_version = 1013
    argv = ['']
    base_exec_prefix = r'D:\Anaconda3'
    base_prefix = r'D:\Anaconda3'
    builtin_module_names = ('_abc', '_ast', '_bisect', '_blake2', '_codecs...
    byteorder = 'little'
    copyright = 'Copyright (c) 2001-2018 Python Software Foundati...ematis...
    dllhandle = 140711361839104
    dont_write_bytecode = False
    exec_prefix = r'D:\Anaconda3'
    executable = r'D:\Anaconda3\python.exe'
    flags = sys.flags(debug=0, inspect=0, interactive=0, opt...ation=1, is...
    float_info = sys.float_info(max=1.7976931348623157e+308, max_...epsilo...
    float_repr_style = 'short'
    hash_info = sys.hash_info(width=64, modulus=2305843009213693...iphash2...
    hexversion = 50790640
    implementation = namespace(cache_tag='cpython-37', hexversion=507...in...
    int_info = sys.int_info(bits_per_digit=30, sizeof_digit=4)
    last_value = NameError("name 'sys' is not defined")
    maxsize = 9223372036854775807
    maxunicode = 1114111
    meta_path = [<class '_frozen_importlib.BuiltinImporter'>, <class '_fro...
    modules = {'__builtins__': {'ArithmeticError': <class 'ArithmeticError...
    path = ['', r'D:\Anaconda3\python37.zip', r'D:\Anaconda3\DLLs', r'D:\A...
    path_hooks = [<class 'zipimport.zipimporter'>, <function FileFinder.pa...
    path_importer_cache = {r'C:\Users\Johnson': FileFinder('C:\\Users\\Joh...
    platform = 'win32'
    prefix = r'D:\Anaconda3'
    ps1 = '>>> '
    ps2 = '... '
    stderr = <_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'>
    stdin = <_io.TextIOWrapper name='<stdin>' mode='r' encoding='utf-8'>
    stdout = <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>
    thread_info = sys.thread_info(name='nt', lock=None, version=None)
    version = '3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (...
    version_info = sys.version_info(major=3, minor=7, micro=0, releaseleve...
    warnoptions = []
    winver = '3.7'

FILE
    (built-in)

测试样例

测试sys.argv

import sys


input_list = sys.argv
print("sys.argv的长度为:{}".format(len(input_list)))
print("sys.argv的类型是:", type(input_list))
print(input_list)


sys_argv_test.py

sys.argv运行结果

Z:\>python sys_argv_test.py
sys.argv的长度为:1
sys.argv的类型是: <class 'list'>
['sys_argv_test.py']

Z:\>python sys_argv_test.py 1
sys.argv的长度为:2
sys.argv的类型是: <class 'list'>
['sys_argv_test.py', '1']

Z:\>python sys_argv_test.py 1 2
sys.argv的长度为:3
sys.argv的类型是: <class 'list'>
['sys_argv_test.py', '1', '2']

Z:\>python sys_argv_test.py 1 2 3
sys.argv的长度为:4
sys.argv的类型是: <class 'list'>
['sys_argv_test.py', '1', '2', '3']

  • 1
    点赞
  • 0
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值