1. 简介

sys 模块主要负责与 Python 解释器进行交互,该模块提供了一系列用于控制 Python 运行环境的函数和变量。

之前我们说过 os 模块,该模块与 sys 模块从名称上看着好像有点类似,实际上它们之间是没有什么关系的,os 模块主要负责与操作系统进行交互。

2. 使用

我们先整体看一下 sys 模块都包含哪些内容,如下所示:

>>> import sys
>>> dir(sys)
['__displayhook__', '__doc__', '__excepthook__', '__interactivehook__', '__loader__', '__name__', '__package__', '__spec__', '__stderr__', '__stdin__', '__stdout__', '_clear_type_cache', '_current_frames', '_debugmallocstats', '_enablelegacywindowsfsencoding', '_getframe', '_git', '_home', '_xoptions', 'api_version', 'argv', 'base_exec_prefix', 'base_prefix', '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_wrapper', 'getallocatedblocks', 'getcheckinterval', 'getdefaultencoding', 'getfilesystemencodeerrors', 'getfilesystemencoding', 'getprofile', 'getrecursionlimit', 'getrefcount', 'getsizeof', 'getswitchinterval', 'gettrace', 'getwindowsversion', 'hash_info', 'hexversion', 'implementation', 'int_info', 'intern', 'is_finalizing', 'maxsize', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'set_asyncgen_hooks', 'set_coroutine_wrapper', 'setcheckinterval', 'setprofile', 'setrecursionlimit', 'setswitchinterval', 'settrace', 'stderr', 'stdin', 'stdout', 'thread_info', 'version', 'version_info', 'warnoptions', 'winver']

对于一些相对常用的变量和函数,我们下面再来具体看一下。

argv

返回传递给 Python 脚本的命令行参数列表。看下示例:

import sysif __name__ == '__main__':args = sys.argvprint(args)print(args[1])

上面文件名为:test.py,我们在控制台使用命令:python test.py 123 abc 执行一下,执行结果如下:

['test.py', '123', 'abc']
123

version

返回 Python 解释器的版本信息。

winver

返回 Python 解释器主版号。

platform

返回操作系统平台名称。

path

返回模块的搜索路径列表。

maxsize

返回支持的最大整数值。

maxunicode

返回支持的最大 Unicode 值。

copyright

返回 Python 版权信息。

modules 以字典类型返回系统导入的模块。

byteorder

返回本地字节规则的指示器。

executable

返回 Python 解释器所在路径。

import sysprint(sys.version)
print(sys.winver)
print(sys.platform)
print(sys.path)
print(sys.maxsize)
print(sys.maxunicode)
print(sys.copyright)
print(sys.modules)
print(sys.byteorder)
print(sys.executable)

stdout

标准输出。看下示例:

import sys# 下面两行代码等价
sys.stdout.write('Hi' + 'n')
print('Hi')

stdin

标准输入。看下示例:

import syss1 = input()
s2 = sys.stdin.readline()
print(s1)
print(s2)

stderr

错误输出。看下示例:

import syssys.stderr.write('this is a error message')

exit()

退出当前程序。看下示例:

import sysprint('Hi')
sys.exit()
print('Jhon')

getdefaultencoding()

返回当前默认字符串编码的名称。

getrefcount(obj)

返回对象的引用计数。

getrecursionlimit()

返回支持的递归深度。

getsizeof(object[, default])

以字节为单位返回对象的大小。

setswitchinterval(interval)

设置线程切换的时间间隔。

getswitchinterval()

返回线程切换时间间隔。

import sysprint(sys.getdefaultencoding())
print(sys.getrefcount('123456'))
print(sys.getrecursionlimit())
print(sys.getsizeof('abcde'))
sys.setswitchinterval(1)
print(sys.getswitchinterval())

python sys模块_Python 基础(二十):sys 模块相关推荐

  1. python爬虫影评_Python爬虫(二十)_动态爬取影评信息

    本案例介绍从JavaScript中采集加载的数据.更多内容请参考:Python学习指南 #-*- coding:utf-8 -*- import requests import re import t ...

  2. python程序代码_python基础二

    Python基础-注释的引入 注释的分类: <1>单行注释:以#开头,#右边的所有文字当作说明,而不是真正要执行的程序,起辅助说明作用 多行注释用三个单引号 ''' 或者三个双引号 &qu ...

  3. python处理日志_python日志处理(logging模块)

    文章非原创,搬运自@云游道士博客: 另外,这篇文章可以作为参考: 本节内容 日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logging模块日志流处理流程 使用 ...

  4. Python遥感图像处理应用篇(二十二):Python+GDAL 批量等距离裁剪影像-续

    之前写过一篇按照指定行列号数量来进行影像等距离裁剪的博客,链接如下: Python遥感图像处理应用篇(二十二):Python+GDAL 批量等距离裁剪影像_空中旋转篮球的博客-CSDN博客_pytho ...

  5. Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python

    Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python? 人生苦短,我用Python!!!短短几个字,现在在各大学习类平台随处 ...

  6. shell基础二十篇 一些笔记

    shell基础二十篇 转自 http://bbs.chinaunix.net/thread-452942-1-1.html 研讨:Bash 内建命令 read (read命令更具体的说明见博客收藏的一 ...

  7. PX4模块设计之二十六:BatteryStatus模块

    PX4模块设计之二十六:BatteryStatus模块 1. BatteryStatus模块简介 2. 模块入口函数 2.1 主入口battery_status_main 2.2 自定义子命令cust ...

  8. BetaFlight模块设计之二十:CMS菜单模块分析

    BetaFlight模块设计之二十:CMS菜单模块分析 CMS菜单模块 CMS菜单按键控制 CMS菜单Elements CMS_Menu OSD_Etnry Element类型 可调Element类型 ...

  9. BetaFlight模块设计之二十六:接收机任务分析

    BetaFlight模块设计之二十六:接收机任务分析 接收机任务 配置情况 硬件配置 软件配置 驱动配置 sbus驱动函数分析 sbusDataReceive函数 sbusFrameStatus函数 ...

  10. BetaFlight模块设计之二十九:滤波模块分析

    BetaFlight模块设计之二十九:滤波模块分析 滤波模块 滤波类型 1. slewFilter 2. simpleLowpassFilter 3. laggedMovingAverage 4. p ...

最新文章

  1. 编程计算1+2+3+4+...+n的值超过500的和的第一个值
  2. iptables使用方法
  3. 谈谈设计不足(under-engineering)与过度设计(over-engineering)
  4. http提交json格式数据自动加\
  5. 学习《apache源代码全景分析》之摘录
  6. 为Get/Post课程收集资料
  7. text html artemplete,artTemplate前端模板引擎使用说明
  8. [转]javascript 程序1
  9. Linux异常进程kill无效的解决办法
  10. JAVA 实现《俄罗斯方块》游戏|CSDN创作打卡
  11. linux如何清理文件系统,最佳Linux文件系统清理工具
  12. DiskFileUpload 中文乱码 解决方法
  13. dcs world f15c教学_教师成长 | PBL在幼儿英文绘本教学中的应用
  14. vscode python第三方库自动补全_vscode python 第三方库的智能提示
  15. 单片微机计算机原理与接口技术高峰,单片微机原理与接口技术
  16. P2P直播软件设计的技术原理和改进
  17. 制作HTML表单(文本框设置对齐等)
  18. 云队友丨张朝阳不再狂妄,搜狐的艰难复苏路
  19. Sass学习(二)--混合器与继承
  20. 程序员自我修改之读书学习

热门文章

  1. 电脑中计算机右键管理无法打开,win8系统计算机右键菜单中的管理打不开怎么办...
  2. matlab在电力系统故障的应用,MATLAB在电力系统故障分析中的应用
  3. Ext4文件系统修复
  4. Spring Boot使用layui的字体图标时无法正常显示 解决办法
  5. 可持续字典树 Perfect Security
  6. jQuery教程06-基本筛选选择器
  7. 怎么把JSP的参数:先传到JSP中,然后传给后台
  8. C语言中声明复数用什么字母,用c语言定义复数-20210407134457.docx-原创力文档
  9. Rulo扫地机器人app_扫地机器人怎么选?扫地机器人怎么用
  10. 错误:在keystone中无法找到默认角色user_Kubernetes RBAC角色权限控制