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中使用logging模块打印log日志详解
Apr 05 Python
python中闭包Closure函数作为返回值的方法示例
Dec 17 Python
在Django中输出matplotlib生成的图片方法
May 24 Python
使用Python抓取豆瓣影评数据的方法
Oct 17 Python
使用Scrapy爬取动态数据
Oct 21 Python
Tensorflow 实现分批量读取数据
Jan 04 Python
python 安装教程之Pycharm安装及配置字体主题,换行,自动更新
Mar 13 Python
python 如何设置守护进程
Oct 29 Python
python 获取字典键值对的实现
Nov 12 Python
python3 re返回形式总结
Nov 20 Python
python+opencv实现车道线检测
Feb 19 Python
Python创建自己的加密货币的示例
Mar 01 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
基于qmail的完整WEBMAIL解决方案安装详解
2006/10/09 PHP
MySQL授权问题总结
2007/05/06 PHP
PHP文件操作之获取目录下文件与计算相对路径的方法
2016/01/08 PHP
在IE中调用javascript打开Excel的代码(downmoon原作)
2007/04/02 Javascript
JavaScript的代码编写格式规范指南
2015/12/07 Javascript
Node.js操作mysql数据库增删改查
2016/03/30 Javascript
jQuery siblings()用法实例详解
2016/04/26 Javascript
JS动态添加选项案例分析
2016/10/17 Javascript
细说webpack源码之compile流程-入口函数run
2017/12/26 Javascript
Vue实现6位数密码效果
2018/08/18 Javascript
解决Idea、WebStorm下使用Vue cli脚手架项目无法使用Webpack别名的问题
2019/10/11 Javascript
Vue状态模式实现窗口停靠功能(灵动、自由, 管理后台Admin界面)
2020/03/06 Javascript
微信小程序实现弹框效果
2020/05/26 Javascript
vue 函数调用加括号与不加括号的区别
2020/10/29 Javascript
[03:42]2014DOTA2西雅图国际邀请赛 Navi战队巡礼
2014/07/07 DOTA
python基于右递归解决八皇后问题的方法
2015/05/25 Python
python使用pyqt写带界面工具的示例代码
2017/10/23 Python
Diango + uwsgi + nginx项目部署的全过程(可外网访问)
2018/04/22 Python
Python面向对象进阶学习
2019/05/21 Python
PYTHON绘制雷达图代码实例
2019/10/15 Python
Python实现序列化及csv文件读取
2020/01/19 Python
浅析Django 接收所有文件,前端展示文件(包括视频,文件,图片)ajax请求
2020/03/09 Python
新学期红领巾广播稿
2014/01/14 职场文书
试用期转正鉴定评语
2014/01/27 职场文书
房屋继承公证书
2014/04/10 职场文书
工地安全标语
2014/06/07 职场文书
个人作风建设总结
2014/10/23 职场文书
2014年环卫工作总结
2014/11/22 职场文书
关于调整工作时间的通知
2015/04/24 职场文书
选调生挂职锻炼工作总结
2015/10/23 职场文书
大队委员竞选稿
2015/11/20 职场文书
创业计划书之游泳馆
2019/09/16 职场文书
详解JVM系列之内存模型
2021/06/10 Javascript
《巫师》是美食游戏?CDPR10月将推出《巫师》官方食谱
2022/04/03 其他游戏
MongoDB误操作后使用oplog恢复数据
2022/04/11 MongoDB
JavaScript中10个Reduce常用场景技巧
2022/06/21 Javascript