Home > Backend Development > Python Tutorial > Python basic learning standard library sys summary

Python basic learning standard library sys summary

WBOY
Release: 2022-03-18 17:33:18
forward
3119 people have browsed it

本篇文章给大家带来了关于python的相关知识,其中主要介绍了标准库sys的相关问题,Python的sys模块提供访问由解释器使用或维护的变量的接口,并提供了一些函数用来和解释器进行交互,操控Python的运行时环境,希望对大家有帮助。

Python basic learning standard library sys summary

推荐学习:python学习教程

sys作用

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

>>> import sys
Copy after login

常用变量

sys.version

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

>>> import sys
>>> sys.version
3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:57:54) [MSC v.1924 64 bit (AMD64)]
Copy after login

sys.maxsize

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

>>> import sys
>>> sys.maxsize
9223372036854775807
Copy after login

sys.maxunicode

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

>>> import sys
>>> sys.maxunicode
1114111
Copy after login

sys.path

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

>>> import sys
>>> sys.path
['', 'D:\\Python3.8\\python38.zip', 'D:\\Python3.8\\DLLs', 'D:\\Python3.8\\lib', 'D:\\Python3.8', 'D:\\Python3.8\\lib\\site-packages']
Copy after login

sys.platform

返回操作系统平台名称,在编写跨平台应用时很有用

系统 返回值
Windows ‘win32’
Linux ‘linux’
Mac ‘darwin’
>>> import sys>>> sys.platform
win32
Copy after login

sys.argv

将python脚本运行时的脚本名以及参数作为一个list,并输出。实现从程序外部像程序内容传递参数

import sysprint(sys.argv)
Copy after login
E:\Python> python 2.py hello python['2.py', 'hello', 'python']
Copy after login

sys.executable

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

>>> import sys
>>> sys.executable
'D:\\Python3.8\\python.exe'
Copy after login

sys.byteorder

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

>>> import sys>>> sys.byteorder'little'
Copy after login

sys.version_info

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

>>> import sys
>>> sys.version_info
sys.version_info(major=3, minor=7, micro=3, releaselevel='final', serial=0)
Copy after login

sys.api_version

此解释器的C API版本。

>>> import sys>>> sys.api_version1013
Copy after login

sys.stdin/sys.stdout/sys.stderr

标准输入、输出、错误。

>>> import sys
>>> sys.stdin
<_io.TextIOWrapper name='' mode='r' encoding='utf-8'>
>>> sys.stdout
<_io.TextIOWrapper name='' mode='w' encoding='utf-8'>
>>> sys.stderr
<_io.TextIOWrapper name='' mode='w' encoding='utf-8'>
Copy after login

常用方法

sys.exit()

退出程序,正常退出时exit(0)

import sysprint(sys.exit(0))print(sys.exit(1))
Copy after login

sys.modules

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

>>> import sys
>>> sys.modules
{'sys': , 'builtins': , '_frozen_importlib': , '_imp': , '_warnings': , '_frozen_importlib_external': , '_io': , 'marshal': , 'nt': , '_thread': , '_weakref': , 'winreg': , 'time': , 'zipimport': , '_codecs': , 'codecs': , 'encodings.aliases': , 'encodings': , 'encodings.utf_8': , '_codecs_cn': , '_multibytecodec': , 'encodings.gbk': , '_signal': , '__main__': , 'encodings.latin_1': , '_abc': , 'abc': , 'io': , '_stat': , 'stat': , '_collections_abc': , 'genericpath': , 'ntpath': , 'os.path': , 'os': , '_sitebuiltins': , '_locale': , '_bootlocale': , 'types': , 'importlib._bootstrap': , 'importlib._bootstrap_external': , 'warnings': , 'importlib': , 'importlib.machinery': , 'importlib.abc': , '_operator': , 'operator': , 'keyword': , '_heapq': , 'heapq': , 'itertools': , 'reprlib': , '_collections': , 'collections': , '_functools': , 'functools': , 'contextlib': , 'importlib.util': , 'mpl_toolkits': , 'site': , 'atexit': }
Copy after login

sys.modules.keys()

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

>>> import sys
>>> sys.modules.keys()
dict_keys(['sys', 'builtins', '_frozen_importlib', '_imp', '_warnings', '_frozen_importlib_external', '_io', 'marshal', 'nt', '_thread', '_weakref', 'winreg', 'time', 'zipimport', '_codecs', 'codecs', 'encodings.aliases', 'encodings', 'encodings.utf_8', '_codecs_cn', '_multibytecodec', 'encodings.gbk', '_signal', '__main__', 'encodings.latin_1', '_abc', 'abc', 'io', '_stat', 'stat', '_collections_abc', 'genericpath', 'ntpath', 'os.path', 'os', '_sitebuiltins', '_locale', '_bootlocale', 'types', 'importlib._bootstrap', 'importlib._bootstrap_external', 'warnings', 'importlib', 'importlib.machinery', 'importlib.abc', '_operator', 'operator', 'keyword', '_heapq', 'heapq', 'itertools', 'reprlib', '_collections', 'collections', '_functools', 'functools', 'contextlib', 'importlib.util', 'mpl_toolkits', 'site', 'atexit'])
Copy after login

sys.getdefaultencoding()

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

>>> import sys
>>> sys.getdefaultencoding()'utf-8'
Copy after login

sys.getfilesystemencoding()

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

>>> import sys
>>> sys.getfilesystemencoding()utf-8
Copy after login

sys.getrecursionlimit()

返回最大递归次数

>>> import sys
>>> sys.getrecursionlimit()  
# 查看当前解释器的最大递归深度1000
Copy after login

sys.setrecursionlimit(num)

设置最大递归次数

>>> import sys
>>> sys.setrecursionlimit(1100)  
# 将解释器的最大递归深度设置为1100
>>> sys.getrecursionlimit()  
# 再次查看当前解释器的最大递归深度1100
Copy after login

sys.getsizeof()

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

>>> import sys
>>> for obj in [int(), float(), list(), tuple(), set(), dict(), object]:...     print(str(obj.__class__).ljust(20), sys.getsizeof(obj))...        24      24       56      40        216       232       416
Copy after login

sys.getrefcount(obj)

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

>>> import sys
>>> a = [1,2,3]
>>> b = a
>>> c = b
>>> sys.getrefcount(a)4
Copy after login

sys.exc_info()

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

>>> import sys
>>> sys.exc_info()(None, None, None)
Copy after login

sys.getwindowsversion()

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

>>> import sys
>>> sys.getwindowsversion()sys.getwindowsversion(major=10, minor=0, build=19041, platform=2, service_pack='')
Copy after login

sys.stdin.readline()

从标准输入读一行,会读取末尾的换行符

sys.stdout.write()

向标准输出写入内容

>>> import sys
>>> sys.stdout.write("hello world")hello world11
Copy after login

推荐学习:python教程

The above is the detailed content of Python basic learning standard library sys summary. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:csdn.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template