python的内置模块sys,提供了系统相关的一些变量和函数,在实际开发中,常见的有以下几种用法

1. 获取操作系统信息>>> import sys# 在window上执行>>> sys.platform'win32'# 在linux上执行>>> sys.platform'linux2'

经典的使用场景, 针对只适用于linux平台的代码,通过sys来判断当前操作系统是否符合要求。

2. 获取python版本信息>>> sys.version'3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 22:45:29) [MSC v.1916 32 bit (Intel)]'>>> sys.version_infosys.version_info(major=3, minor=8, micro=2, releaselevel='final', serial=0)>>> ver = sys.version_info>>> ver.major3>>> ver.minor8>>> ver.micro2

对于python版本有限制的代码,可以通过以上方法来判断python版本是否符合要求。

3. 获取编码方式>>> sys.getdefaultencoding()'utf-8'

在python3中,默认的编码方式为utf8, 所以不再需要像python2那样,自己手动设置编码格式为utf-8。

4. 标准输入,输出和错误流

sys模块提供了变量来表示标准输入,输出和错误流,列表如下sys.stdin, 标准输入流

sys.stdout,标准输出流

sys.stderr,标准错误流

具有文件句柄类似的操作,可以从标准输入流读取信息,向标准输出和标准错误流写入信息,用法如下>>> sys.stderr.write('stderr info\n')stderr info12>>> sys.stdout.write('stdout info\n')stdout info12

5. 中断执行

可以通过sys.exit函数来中断代码的执行,用法如下>>> sys.exit()

该函数也可以添加一个参数,默认为0,表示正常退出,其他参数表示非正常退出,支持用字符串来自定义错误信息。

6. sys.path

该变量存储了python寻找模块的路径>>> sys.path['', '/usr/lib/python35.zip', '/usr/lib/python3.5', '/usr/lib/python3.5/plat-x86_64-linux-gnu', '/usr/lib/python3.5/lib-dynload', '/usr/local/lib/python3.5/dist-packages', '/usr/lib/python3/dist-packages']

可以在代码中动态修改sys.path列表中的元素,已达到成功导入某个模块的目的。

7. sys.module

该变量是一个字典,存储了已经导入的模块>>> import sys>>> sys.modules.keys()dict_keys(['abc', '_signal', 'sitecustomize', 'sys', '_collections_abc', '_weakrefset', '_sitebuiltins', '_weakref', 'sysconfig', 'encodings.utf_8', '__main__', 'apport_python_hook', '_sysconfigdata_m', 'posixpath', 'site', 'readline', 'stat', 'encodings', 'encodings.latin_1', 'zipimport', 'encodings.aliases', '_frozen_importlib_external', 'io', '_frozen_importlib', '_imp', 'atexit', 'os', '_stat', '_sysconfigdata', 'os.path', '_codecs', '_thread', 'posix', 'marshal', 'codecs', '_warnings', 'builtins', 'errno', 'genericpath', 'rlcompleter', '_io'])

8. 获取命令行参数

sys.argv是一个列表, 该列表存储了命令行参数,当采用脚本方式运行时,可以方便的处理命令行参数。假设一个python脚本名为test.py,其中的内容如下import sysfor arg in sys.argv:print(arg)

在操作系统中运行该脚本,会打印命令行参数的内容> python test.py arg1 arg2test.pyarg1arg2

可以看出,sys.argv的第一个元素是脚本的名字,接下来为传递给脚本的命令行参数。对于简单的脚本编程,用这种方式来捕获命令行参数是非常方便的。当然,对于命令行参数的传递,python还有更加强大的内置模块argparse, 在实际开发中也更常用该模块来处理命令行参数,后续在详细介绍其用法。·end·

python中import用法sys_python sys模块的常见用法汇总相关推荐

  1. python中的datetime函数_Python datetime函数常见用法总结

    Python datetime使用指导:操作时间.日期和时间区间 在 Python 中处理日期和时间是一个很麻烦的问题.幸运的是,Python 提供了内置方法来简化这种操作:Python Dateti ...

  2. python中import re_python之re模块

    一.re模块与正则表达式 今天我们要整理python里的re模块和正则表达式,正则表达式不仅在python领域,在整个编程届都占有举足轻重的地位. 在没有正式介绍re模块之前我们需要先了解一下什么是正 ...

  3. python中sys用法_Python中sys模块功能与用法实例详解

    Python中sys模块功能与用法.,具体如下: sys-系统特定的参数和功能 该模块提供对解释器使用或维护的一些变量的访问,以及与解释器强烈交互的函数.它始终可用. sys.argv 传递给Pyth ...

  4. Python中import语句用法详解

    一. 什么是模块(module)? 在实际应用中,有时程序所要实现功能比较复杂,代码量也很大.若把所有的代码都存储在一个文件中,则不利于代码的复用和维护.一种更好的方式是将实现不同功能的代码分拆到多个 ...

  5. Python中import导入上一级目录模块及循环import问题的解决

    Python中import导入上一级目录模块及循环import问题的解决 参考文章: (1)Python中import导入上一级目录模块及循环import问题的解决 (2)https://www.cn ...

  6. python中import os什么意思?

    转载 python中import os是指导入os模块到当前程序. import import语句有什么用?import语句用来导入其他python文件(称为模块module),使用该模块里定义的类. ...

  7. python中import os_python中import os什么意思

    python中import os是指导入os模块到当前程序. import import语句有什么用?import语句用来导入其他python文件(称为模块module),使用该模块里定义的类.方法或 ...

  8. Python中计算程序的运行时间——timeit模块

    Python中计算程序的运行时间--timeit模块 绪论 一.timeit的基本用法 1.1 timeit.timeit()函数: 创建一个Timer实例,并运行代码进行计时,默认将代码执行一百万次 ...

  9. 计算机语言import,python中import指的是什么意思

    python中import指的是什么意思 发布时间:2020-08-04 09:36:03 来源:亿速云 阅读:92 作者:清晨 这篇文章主要介绍python中import指的是什么意思,文中介绍的非 ...

  10. python自己创建模块引用失败_详解Python import方法引入模块的实例 Python怎么import自己写的模块...

    python中 import导入模块失败的问题? python中的import引用不了模块我傻,为你傻;我痛,为你痛;深夜里,你是我一种惯性的回忆. 为什么我用from lianxi import*就 ...

最新文章

  1. 喝不起奶茶,咱就为奶茶店开发个会员积分收银系统
  2. 它来了!无人车穿梭在深圳的“宇宙最强街道”
  3. 13个JavaScript单行式代码
  4. 「Python」超简单!Python返回矩阵最大元素/最小值坐标,三行搞定!(更新:一行搞定!)
  5. C# Repeater绑定显示数组
  6. 飘逸的python - 字典合并值相加
  7. opera for android,Opera Mobile浏览器
  8. mybatis如何防止sql注入
  9. Android 系统(199)---Android事件分发机制详解
  10. JMeter性能测试中如何使用“用户参数”实现参数化
  11. B站左程云算法视频高级班02
  12. 离散时间傅里叶变换(DTFT)与离散傅里叶级数(DFS)
  13. 【论文精读】:Global Matching with Overlapping Attention for Optical Flow Estimation
  14. 深圳市自助图书馆详细分布地址
  15. python+fastapi+jinja2+mongodb,突然感觉整个人一下就轻松了,python学习之路
  16. vue常用下载的依赖
  17. So Easy京东商城
  18. 云慧计算机有限公司触屏,工业平板电脑触摸屏使用注意事项
  19. NOJ--宠物小精灵之收服(01背包,二维费用背包问题)
  20. Web09——新闻数据分页

热门文章

  1. 化解仓储难题,WMS智能仓储系统解决方案
  2. java 创建meta inf_java – 在Eclipse中创建META-INF / services文件夹
  3. 《Cocos Creator游戏实战》实现微信小游戏的截图,预览和相册保存功能
  4. 为Hexo博客文章添加关键字
  5. 【高登世德:为资产证券化引入区块链技术】GBCAX
  6. 为什么我的电脑只能上qq不能打开网页
  7. 数据开发者启示录:《我,阿里P7,找不到工作》
  8. 哈希算法----猜词游戏
  9. 计算机锁屏如何取消密码,Win10锁屏密码怎么取消?Win10系统取消锁屏密码的方法教程...
  10. 用Python控制Kinect相机