Python sys 模块
1 sys.argv
“argv”即“argument value”的简写,是一个列表对象,其中存储的是在命令行调用 Python 脚本时提供的“命令行参数”。
2. sys.platform
查看sys
模块中的sys.platform
属性可以得到关于运行平台更详细的信息
3. sys.byteorder
byteorder”即“字节序”,指的是在计算机内部存储数据时,数据的低位字节存储在存储空间中的高位还是低位。当前大部分机器都是使用的小端存储。
>>> sys.byteorder ‘little‘ >>> sys.byteorder ‘big‘
4. sys.executable
该属性是一个字符串,在正常情况下,其值是当前运行的 Python 解释器对应的可执行程序所在的绝对路径。
5. sys.modules
该属性是一个字典,包含的是各种已加载的模块的模块名到模块具体位置的映射。
6. sys.builtin_module_names
该属性是一个字符串元组,其中的元素均为当前所使用的的 Python 解释器内置的模块名称。
注意区别sys.modules
和sys.builtin_module_names
——前者的关键字(keys)列出的是导入的模块名,而后者则是解释器内置的模块名。
>>> sys.builtin_module_names (‘_abc‘, ‘_ast‘, ‘_bisect‘, ‘_blake2‘, ‘_codecs‘, ‘_codecs_cn‘, ‘_codecs_hk‘, ‘_codecs_iso2022‘, ‘_codecs_jp‘, ‘_codecs_kr‘, ‘_codecs_tw‘, ‘_collections‘, ‘_contextvars‘, ‘_csv‘, ‘_datetime‘, ‘_functools‘, ‘_heapq‘, ‘_imp‘, ‘_io‘, ‘_json‘, ‘_locale‘, ‘_lsprof‘, ‘_md5‘, ‘_multibytecodec‘, ‘_opcode‘, ‘_operator‘, ‘_pickle‘, ‘_random‘, ‘_sha1‘, ‘_sha256‘, ‘_sha3‘, ‘_sha512‘, ‘_signal‘, ‘_sre‘, ‘_stat‘, ‘_string‘, ‘_struct‘, ‘_symtable‘, ‘_thread‘, ‘_tracemalloc‘, ‘_warnings‘, ‘_weakref‘, ‘_winapi‘, ‘array‘, ‘atexit‘, ‘audioop‘, ‘binascii‘, ‘builtins‘, ‘cmath‘, ‘errno‘, ‘faulthandler‘, ‘gc‘, ‘itertools‘, ‘marshal‘, ‘math‘, ‘mmap‘, ‘msvcrt‘, ‘nt‘, ‘parser‘, ‘sys‘, ‘time‘, ‘winreg‘, ‘xxsubtype‘, ‘zipimport‘, ‘zlib‘)
7. sys.path
该属性是一个由字符串组成的列表,其中各个元素表示的是 Python 搜索模块的路径;在程序启动期间被初始化。
$ python sys_path_example.py The path[0] = D:\justdopython\sys_example
交互式环境查看属性第一个元素:<span>>>> <span>sys<span>.<span>path<span>[<span>0<span>]</span></span></span></span></span></span></span>
8. sys.stdin
即 Python 的标准输入通道。通过改变这个属性为其他的类文件(file-like)对象,可以实现输入的重定向,也就是说可以用其他内容替换标准输入的内容。
9. sys.stdout
代表“标准输出”的属性。
10. sys.err
标准错误
11. sys.getrefcount()
返回值是 Python 中某个对象被引用的次数
12. sys.getsizeof()
返回的是作用对象所占用的字节数。
13. sys.int_info 和 sys.float_info
>>> sys.int_info sys.int_info(bits_per_digit=30, sizeof_digit=4)
属性 | 解释 |
---|---|
bits_per_digit | number of bits held in each digit. Python integers are stored internally in base 2**int_info.bits_per_digit |
sizeof_digit | size in bytes of the C type used to represent a digit |
14. sys.ps1
代表的是一级提示符,也就是进入 Python 交互界面之后就会出现的那一个>>>
;而第二个sys.ps2
则是二级提示符
15. sys.getrecursionlimit() 和 sys.setrecursionlimit()
sys.getrecursionlimit()
和sys.setrecursionlimit()
是成对的。前者可以获取 Python 的最大递归数目,后者则可以设置最大递归数目