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 Web开发框架Django
Jun 30 Python
CentOS中使用virtualenv搭建python3环境
Jun 08 Python
基于python实现微信模板消息
Dec 21 Python
numpy 计算两个数组重复程度的方法
Nov 07 Python
pytorch对可变长度序列的处理方法详解
Dec 08 Python
opencv与numpy的图像基本操作
Mar 08 Python
Python3 实现文件批量重命名示例代码
Jun 03 Python
详解Python 多线程 Timer定时器/延迟执行、Event事件
Jun 27 Python
python3用PIL把图片转换为RGB图片的实例
Jul 04 Python
python 使用while写猜年龄小游戏过程解析
Oct 07 Python
Python 脚本拉取 Docker 镜像问题
Nov 10 Python
python飞机大战 pygame游戏创建快速入门详解
Dec 17 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
兼容性比较好的PHP生成缩略图的代码
2011/01/12 PHP
PHP中JSON的应用技巧
2015/10/10 PHP
WordPress开发中的get_post_custom()函数使用解析
2016/01/04 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
ajax处理php返回json数据的实例代码
2013/01/24 Javascript
js中一个函数获取另一个函数返回值问题探讨
2013/11/21 Javascript
JavaScript代码复用模式详解
2014/11/07 Javascript
js实现点击链接后延迟3秒再跳转的方法
2015/06/05 Javascript
IE6兼容透明背景图片及解决方案
2015/08/19 Javascript
整理Javascript事件响应学习笔记
2015/12/02 Javascript
JS输出空格的简单实现方法
2016/09/08 Javascript
从零学习node.js之文件操作(三)
2017/02/21 Javascript
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
2018/01/25 jQuery
jQuery实现的隔行变色功能【案例】
2019/02/18 jQuery
在Layui中实现开关按钮的效果实例
2019/09/29 Javascript
uni-app自定义导航栏按钮|uniapp仿微信顶部导航条功能
2019/11/12 Javascript
Javascript 类型转换、封闭函数及常见内置对象操作示例
2019/11/15 Javascript
Vue登录拦截 登录后继续跳转指定页面的操作
2020/08/04 Javascript
[03:30]DOTA2完美“圣”典精彩集锦
2016/12/27 DOTA
Python中pygame的mouse鼠标事件用法实例
2015/11/11 Python
利用python操作SQLite数据库及文件操作详解
2017/09/22 Python
Python学习笔记之if语句的使用示例
2017/10/23 Python
Python使用正则表达式获取网页中所需要的信息
2018/01/29 Python
Python 获取中文字拼音首个字母的方法
2018/11/28 Python
Python数据可视化库seaborn的使用总结
2019/01/15 Python
Django中的cookie和session
2019/08/27 Python
python 实现快速生成连续、随机字母列表
2019/11/28 Python
python爬虫开发之使用python爬虫库requests,urllib与今日头条搜索功能爬取搜索内容实例
2020/03/10 Python
Django视图类型总结
2021/02/17 Python
我的未来不是梦演讲稿
2014/09/02 职场文书
网络营销计划
2015/01/17 职场文书
数学教师个人总结
2015/02/06 职场文书
酒店员工辞职信范文
2015/02/28 职场文书
汶川大地震感悟
2015/08/10 职场文书
经典励志格言:每日一句,让你每天充满能量
2019/08/16 职场文书
Li list-style-image 图片垂直居中实现方法
2023/05/21 HTML / CSS