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用10行代码实现对黄色图片的检测功能
Aug 10 Python
python统计多维数组的行数和列数实例
Jun 23 Python
一百行python代码将图片转成字符画
Feb 19 Python
Python 3 实现定义跨模块的全局变量和使用教程
Jul 07 Python
python opencv实现信用卡的数字识别
Jan 12 Python
python集成开发环境配置(pycharm)
Feb 14 Python
关于Python Tkinter Button控件command传参问题的解决方式
Mar 04 Python
Python flask框架端口失效解决方案
Jun 04 Python
Python词云的正确实现方法实例
May 08 Python
Python中的min及返回最小值索引的操作
May 10 Python
python 算法题——快乐数的多种解法
May 27 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比较两个绝对时间的大小
2014/01/31 PHP
本地计算机无法启动Apache故障处理
2014/08/08 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
2017/04/01 PHP
详解使用php调用微信接口上传永久素材
2017/04/11 PHP
php实现映射操作实例详解
2019/10/02 PHP
Jquery 一次处理多个ajax请求的代码
2011/09/02 Javascript
利用JS自动打开页面上链接的实现代码
2011/09/25 Javascript
jQuery实用技巧必备(中)
2015/11/03 Javascript
详解JavaScript函数
2015/12/01 Javascript
jQuery实现为LI列表前3行设置样式的方法【2种方法】
2016/09/04 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
2018/09/17 Javascript
nvm、nrm、npm 安装和使用详解(小结)
2019/01/17 Javascript
JavaScript中的"=、==、==="区别讲解
2019/01/22 Javascript
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
2019/04/02 Javascript
vuex 动态注册方法 registerModule的实现
2019/07/03 Javascript
微信小程序在text文本实现多种字体样式
2019/11/08 Javascript
如何使用JS console.log()技巧提高工作效率
2020/10/14 Javascript
Antd-vue Table组件添加Click事件,实现点击某行数据教程
2020/11/17 Javascript
Vue使用Element实现增删改查+打包的步骤
2020/11/25 Vue.js
python sqlobject(mysql)中文乱码解决方法
2008/11/14 Python
python实现通过shelve修改对象实例
2014/09/26 Python
Python检测QQ在线状态的方法
2015/05/09 Python
python 爬虫一键爬取 淘宝天猫宝贝页面主图颜色图和详情图的教程
2018/05/22 Python
python匿名函数用法实例分析
2019/08/03 Python
全网最全python库selenium自动化使用详细教程
2021/01/12 Python
德国最大的网上鞋店之一:Schuhe24.de
2017/06/10 全球购物
周生生珠宝香港官网:Chow Sang Sang(香港及海外配送)
2019/09/05 全球购物
网络、C以及其他硬件方面的面试题
2016/08/23 面试题
Java文件和目录(IO)操作
2014/08/26 面试题
酒店值班经理的工作职责范本
2014/02/18 职场文书
教学质量评估实施方案
2014/03/17 职场文书
2014公司党员自我评价范文
2014/09/11 职场文书
2014年驻村干部工作总结
2014/11/17 职场文书
Nginx配置80端口访问8080及项目名地址方法解析
2021/03/31 Servers
如何用JavaScript实现一个数组惰性求值库
2021/05/05 Javascript
Navicat Premium自定义 sql 标签的创建方式
2022/09/23 数据库