python中sys模块是做什么用的


Posted in Python onAugust 16, 2020

python中的sys是提供了一系列有关python运行环境的变量和函数的模块,如sys.argv函数实现从程序外部向程序传递参数;sys.platform函数用于获取当前系统平台。

sys模块提供了一系列有关Python运行环境的变量和函数。

sys模块的常见函数列表

  • sys.argv: 实现从程序外部向程序传递参数。
  • sys.exit([arg]): 程序中间的退出,arg=0为正常退出。
  • sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii。
  • sys.setdefaultencoding(): 设置系统默认编码,执行dir(sys)时不会看到这个方法,在解释器中执行不通过,可以先执行reload(sys),在执行 setdefaultencoding('utf8'),此时将系统默认编码设置为utf8。(见设置系统默认编码 )
  • sys.getfilesystemencoding(): 获取文件系统使用编码方式,Windows下返回'mbcs',mac下返回'utf-8'.
  • sys.path: 获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。
  • sys.platform: 获取当前系统平台。
  • sys.stdin,sys.stdout,sys.stderr: stdin , stdout , 以及stderr 变量包含与标准I/O 流对应的流对象. 如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需要的. 你也可以替换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或者以非标准的方式处理它们

内容扩展:

sys.argv

功能:在外部向程序内部传递参数

示例:sys.py

#!/usr/bin/env python

import sys
print sys.argv[0]
print sys.argv[1]

运行:

# python sys.py argv1
sys.py
argv1

自己动手尝试一下,领悟参数对应关系

sys.exit(n)

功能:执行到主程序末尾,解释器自动退出,但是如果需要中途退出程序,可以调用sys.exit函数,带有一个可选的整数参数返回给调用它的程序,表示你可以在主程序中捕获对sys.exit的调用。(0是正常退出,其他为异常)

示例:exit.py

#!/usr/bin/env python

import sys

def exitfunc(value):
  print value
  sys.exit(0)

print "hello"

try:
  sys.exit(1)
except SystemExit,value:
  exitfunc(value)

print "come?"

运行:

# python exit.py
hello

sys.path

功能:获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。

示例:

>>> import sys
>>> sys.path
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client']

sys.path.append("自定义模块路径")

sys.modules

功能:sys.modules是一个全局字典,该字典是python启动后就加载在内存中。每当程序员导入新的模块,sys.modules将自动记录该模块。当第二次再导入该模块时,python会直接到字典中查找,从而加快了程序运行的速度。它拥有字典所拥有的一切方法。

示例:modules.py

#!/usr/bin/env python

import sys

print sys.modules.keys()

print sys.modules.values()

print sys.modules["os"]

运行:

python modules.py
['copy_reg', 'sre_compile', '_sre', 'encodings', 'site', '__builtin__',......

sys.stdin\stdout\stderr

功能:stdin , stdout , 以及stderr 变量包含与标准I/O 流对应的流对象. 如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需要的. 你也可以替换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或者以非标准的方式处理它们

以上就是python中sys模块是做什么用的的详细内容,更多关于python中sys是什么模块的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python中sys.argv参数用法实例分析
May 20 Python
python 爬取微信文章
Jan 30 Python
Python中的异常处理相关语句基础学习笔记
Jul 11 Python
Python 堆叠柱状图绘制方法
Jul 29 Python
Python提取PDF内容的方法(文本、图像、线条等)
Sep 25 Python
python入门之基础语法学习笔记
Feb 08 Python
python实现小程序推送页面收录脚本
Apr 20 Python
浅谈Selenium 控制浏览器的常用方法
Dec 04 Python
python 办公自动化——基于pyqt5和openpyxl统计符合要求的名单
May 25 Python
仅用几行Python代码就能复制她的U盘文件?
Jun 26 Python
Django路由层如何获取正确的url
Jul 15 Python
Python OpenCV超详细讲解基本功能
Apr 02 Python
python3获取控制台输入的数据的具体实例
Aug 16 #Python
python在一个范围内取随机数的简单实例
Aug 16 #Python
python将数据插入数据库的代码分享
Aug 16 #Python
详解Python高阶函数
Aug 15 #Python
python 19个值得学习的编程技巧
Aug 15 #Python
解析python 类方法、对象方法、静态方法
Aug 15 #Python
浅谈python锁与死锁问题
Aug 14 #Python
You might like
ThinkPHP实例化模型的四种方法概述
2014/08/22 PHP
Yii2使用自带的UploadedFile实现的文件上传
2016/06/20 PHP
PHP类型约束用法示例
2016/09/28 PHP
PHP树形结构tree类用法示例
2019/02/01 PHP
JavaScript中的私有成员
2006/09/18 Javascript
JavaScript Event事件学习第一章 Event介绍
2010/02/07 Javascript
重载toString实现JS HashMap分析
2011/03/13 Javascript
javascript数组详解
2014/10/22 Javascript
jQuery源码分析之jQuery.fn.each与jQuery.each用法
2015/01/23 Javascript
JS实现动态给图片添加边框的方法
2015/04/01 Javascript
js简单实现点击左右运动的方法
2015/04/10 Javascript
Javascript节点关系实例分析
2015/05/15 Javascript
jQuery使用each方法与for语句遍历数组示例
2016/06/16 Javascript
微信小程序前端源码逻辑和工作流
2016/09/25 Javascript
javascript 动态样式添加的简单实现
2016/10/11 Javascript
webpack+vue.js实现组件化详解
2016/10/12 Javascript
JS中如何实现复选框全选功能
2016/12/19 Javascript
JS前端开发判断是否是手机端并跳转操作(小结)
2017/02/05 Javascript
微信小程序三级联动地址选择器的实例代码
2017/07/12 Javascript
基于iScroll实现下拉刷新和上滑加载效果
2017/07/18 Javascript
js HTML5 canvas绘制图片的方法
2017/09/08 Javascript
详解小程序循环require之坑
2019/03/08 Javascript
React中this丢失的四种解决方法
2019/03/12 Javascript
ElementUI Tree 树形控件的使用并给节点添加图标
2020/02/27 Javascript
原生js实现分页效果
2020/09/23 Javascript
浅谈python函数之作用域(python3.5)
2017/10/27 Python
python3 selenium 切换窗口的几种方法小结
2018/05/21 Python
python3学生名片管理v2.0版
2018/11/29 Python
Python之修改图片像素值的方法
2019/07/03 Python
Python绘制股票移动均线的实例
2019/08/24 Python
Python基于locals返回作用域字典
2020/10/17 Python
python 爬虫基本使用——统计杭电oj题目正确率并排序
2020/10/26 Python
JACK & JONES瑞典官方网站:杰克琼斯欧式风格男装
2017/12/23 全球购物
即将毕业大学生自荐信
2014/01/24 职场文书
数控技校生自我鉴定
2014/03/02 职场文书
学校少先队工作总结
2015/08/12 职场文书