您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > Python

三十九、Python内置模块之sys

时间:2020-07-15 14:57:01  来源:  作者:
三十九、Python内置模块之sys

Python内置模块sys

sys模块代表了Python解释器相关有的信息,主要用来获取解释器的信息。下面的方法提供查看sys模块下的全部程序单元(包括变量和函数等):

>>> import sys
>>> [elem for elem in dir(sys) if not elem.startswith('_')]
['abiflags', 'api_version', 'argv', 'base_exec_prefix', 'base_prefix', 
 'breakpointhook', 'builtin_module_names', 'byteorder', 'call_tracing', 
 'callstats', 'copyright', 'displayhook', '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', 'getdlopenflags', 'getfilesystemencodeerrors', 
 'getfilesystemencoding', 'getprofile', 'getrecursionlimit', 'getrefcount', 
 'getsizeof', 'getswitchinterval', 'gettrace', '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', 
 'real_prefix', 'set_asyncgen_hooks', 'set_coroutine_origin_tracking_depth', 
 'set_coroutine_wrapper', 'setcheckinterval', 'setdlopenflags', 'setprofile', 
 'setrecursionlimit', 'setswitchinterval', 'settrace', 'stderr', 'stdin', 
 'stdout', 'thread_info', 'version', 'version_info', 'warnoptions']

可以看出,sys模块提供了大量的属性和函数,由于有一些功能方法在实际程序开发中用的并不多,下面仅介绍常用的属性和函数。

  • sys.argv: 获取运行Python程序的命令行参数,是一个列表,第一个参数指运行的程序本身,每二个参数是命令行参数的第一个参数,依次类推...
三十九、Python内置模块之sys

命令行参数与argv列表元素的对应关系

# 新建文件argv_test.py, 代码内容如下

import sys

# 输入argv列表的长度
print(f'argv列表的长度为:{len(sys.argv)}')

# 打印argv的元素
for arg in sys.argv:
    print(arg)

# 使用下面命令执行该文件
$ python argv_test.py fengqinyang duguqiubai dongfangbubai renwoxing
# 输出
argv列表的长度为:5
argv_test.py
fengqinyang
duguqiubai
dongfangbubai
renwoxing
  • sys.copyright: Python的解释器的版权信息
>>> print(sys.copyright)
Copyright (c) 2001-2019 Python Software Foundation.
All Rights Reserved.

Copyright (c) 2000 BeOpen.com.
All Rights Reserved.

Copyright (c) 1995-2001 Corporation for National Research Initiatives.
All Rights Reserved.

Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam.
All Rights Reserved.
  • sys.executable: Python解释器在磁盘上的存储路径
>>> print(sys.executable)
/Users/david.tian/.virtualenvs/pysparkvenv/bin/python
  • sys.getfilesystemencodeing():当前系统中python文件的字符集
 >>> print(sys.getfilesystemencoding())  
utf-8
  • sys.getrefcount(object): 返回对象的引用计数,当object对象计数个数为0时,系统会回收该对象
>>> print(sys.getrefcount(sys))
57
>>> myfullname = 'davidekaka'
>>> print(sys.getrefcount(myfullname))
2
  • sys.getrecursionlimit(): 返回Python解释器支持的递归深度,该属性可以通过setrecursionlimit()来重新设置
>>> print(sys.getrecursionlimit())
1000
>>> sys.setrecursionlimit(1100)
>>> print(sys.getrecursionlimit())
1100
>>> sys.setrecursionlimit(1000)
  • sys.maxsize: 该属性指Python支持整数的最大值,和系统平台有关系统(32位和64位)不同
>>> print(sys.maxsize)
9223372036854775807
  • sys.version: 该属性返回Python解释器的版本
>>> print(sys.version)
3.7.4 (v3.7.4:e09359112e, Jul  8 2019, 14:54:52) 
[Clang 6.0 (clang-600.0.57)]
  • sys.platform: 该属性返回Python解释器所在的平台
>>> print(sys.platform)
darwin
  • sys.path: 该属性指定Python查找模块的路径列表
>>> print(sys.path)
['', '/Users/david.tian/.virtualenvs/pysparkvenv/lib/python37.zip', 
 '/Users/david.tian/.virtualenvs/pysparkvenv/lib/python3.7', 
 '/Users/david.tian/.virtualenvs/pysparkvenv/lib/python3.7/lib-dynload', 
 '/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7', 
 '/Users/david.tian/.virtualenvs/pysparkvenv/lib/python3.7/site-packages']


Tags:Python sys   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
Python内置模块syssys模块代表了Python解释器相关有的信息,主要用来获取解释器的信息。下面的方法提供查看sys模块下的全部程序单元(包括变量和函数等):>>> import sys>>> [elem...【详细内容】
2020-07-15  Tags: Python sys  点击:(54)  评论:(0)  加入收藏
▌简易百科推荐
大家好,我是菜鸟哥,今天跟大家一起聊一下Python4的话题! 从2020年的1月1号开始,Python官方正式的停止了对于Python2的维护。Python也正式的进入了Python3的时代。而随着时间的...【详细内容】
2021-12-28  菜鸟学python    Tags:Python4   点击:(1)  评论:(0)  加入收藏
学习Python的初衷是因为它的实践的便捷性,几乎计算机上能完成的各种操作都能在Python上找到解决途径。平时工作需要在线学习。而在线学习的复杂性经常让人抓狂。费时费力且效...【详细内容】
2021-12-28  风度翩翩的Python    Tags:Python   点击:(1)  评论:(0)  加入收藏
Python 是一个很棒的语言。它是世界上发展最快的编程语言之一。它一次又一次地证明了在开发人员职位中和跨行业的数据科学职位中的实用性。整个 Python 及其库的生态系统使...【详细内容】
2021-12-27  IT资料库    Tags:Python 库   点击:(2)  评论:(0)  加入收藏
菜单驱动程序简介菜单驱动程序是通过显示选项列表从用户那里获取输入并允许用户从选项列表中选择输入的程序。菜单驱动程序的一个简单示例是 ATM(自动取款机)。在交易的情况下...【详细内容】
2021-12-27  子冉爱python    Tags:Python   点击:(4)  评论:(0)  加入收藏
有不少同学学完Python后仍然很难将其灵活运用。我整理15个Python入门的小程序。在实践中应用Python会有事半功倍的效果。01 实现二元二次函数实现数学里的二元二次函数:f(x,...【详细内容】
2021-12-22  程序汪小成    Tags:Python入门   点击:(32)  评论:(0)  加入收藏
Verilog是由一个个module组成的,下面是其中一个module在网表中的样子,我只需要提取module名字、实例化关系。module rst_filter ( ...); 端口声明... wire定义......【详细内容】
2021-12-22  编程啊青    Tags:Verilog   点击:(8)  评论:(0)  加入收藏
运行环境 如何从 MP4 视频中提取帧 将帧变成 GIF 创建 MP4 到 GIF GUI ...【详细内容】
2021-12-22  修道猿    Tags:Python   点击:(6)  评论:(0)  加入收藏
面向对象:Object Oriented Programming,简称OOP,即面向对象程序设计。类(Class)和对象(Object)类是用来描述具有相同属性和方法对象的集合。对象是类的具体实例。比如,学生都有...【详细内容】
2021-12-22  我头秃了    Tags:python   点击:(9)  评论:(0)  加入收藏
所谓内置函数,就是Python提供的, 可以直接拿来直接用的函数,比如大家熟悉的print,range、input等,也有不是很熟,但是很重要的,如enumerate、zip、join等,Python内置的这些函数非常...【详细内容】
2021-12-21  程序员小新ds    Tags:python初   点击:(5)  评论:(0)  加入收藏
Hi,大家好。我们在接口自动化测试项目中,有时候需要一些加密。今天给大伙介绍Python实现各种 加密 ,接口加解密再也不愁。目录一、项目加解密需求分析六、Python加密库PyCrypto...【详细内容】
2021-12-21  Python可乐    Tags:Python   点击:(8)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条