python之sys模块详解

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

importsysprintsys.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

importsysdefexitfunc(value):printvalue

sys.exit(0)print "hello"

try:

sys.exit(1)exceptSystemExit,value:

exitfunc(value)print "come?"

运行:

#python exit.py

hello1

sys.path

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

示例:

>>> importsys>>>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

importsysprintsys.modules.keys()printsys.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 ), 或者以非标准的方式处理它们

转载:http://www.cnblogs.com/cherishry/p/5725184.html

python中sys模块是什么意思_python之sys模块详解相关推荐

  1. [转载] python中set函数是什么数据类型_Python基本数据类型-list-tuple-dict-set详解

    参考链接: Python中的isdisjoint函数 Python基本数据类型-list-tuple-dict-set 数据类型 表示方法 特性 list 列表用方括号表示:[] list是一种有序的 ...

  2. python中def func是什么意思_Python的函数参数详解

    原标题:Python的函数参数详解 前言 Python中函数的参数可以分为两大类形参和实参~ def func(x, y): # x, y 就是形参 print(x, y) func(2, 3) # ...

  3. python中的异常分类_列举 5 个 Python 中的异常类型以及其含义【面试题详解】

    今天爱分享给大家带来列举 5 个 Python 中的异常类型以及其含义[面试题详解],希望能够帮助到大家. BaseException +-- SystemExit +-- KeyboardInter ...

  4. python r语言 结合 部署_(转)python中调用R语言通过rpy2 进行交互安装配置详解...

    python中调用R语言通过rpy2 进行详解 1.R语言的安装: 大家进行R语言的安装,在安装好R后,需要配置环境变量R才能进行使用. 对此电脑右键->选择高级设置->环境变量-> ...

  5. python变量命名规则思维导图_Python思维导图详解

    Python思维导图 Python思维导图详解 第一阶段:学习Python基础语法,主要学习变量的使用以及类型.变量的计算和输入输出.变量的命名.运算符.if判断语句.while循环语句.字符串.常量 ...

  6. python中打开文件时只允许写入的模式是_详解python中各种文件打开模式

    在python中,总的来说有三种大的模式打开文件,分别是:a, w, r 当以a模式打开时,只能写文件,而且是在文件末尾添加内容. 当以a+模式打开时,可以写文件,也可读文件,可是在读文件的时候,会发 ...

  7. python队列只能一个个读取吗_python队列Queue的详解

    Queue Queue是python标准库中的线程安全的队列(FIFO)实现,提供了一个适用于多线程编程的先进先出的数据结构,即队列,用来在生产者和消费者线程之间的信息传递 基本FIFO队列 clas ...

  8. python中以只读形式打开文件的模式是_详解python中各种文件打开模式

    在python中,总的来说有三种大的模式打开文件,分别是:a, w, r 当以a模式打开时,只能写文件,而且是在文件末尾添加内容. 当以a+模式打开时,可以写文件,也可读文件,可是在读文件的时候,会发 ...

  9. python中choices_Django之choices选项和富文本编辑器的使用详解

    项目准备 1.创建数据库 create database choices_test default charset utf8; 2.创建一个名为 choices_test 的Django项目: 3.创 ...

  10. Python中的*(星号)和**(双星号)完全详解

    Python和C++不同,并没有指针,因此python中的*号作用和C++中不同.网上对于这方面的教程写的啰啰嗦嗦,一点不简明扼要.看的让人找不到重点.我这里快速的讲解一下. 1.最简单的不用细说,是 ...

最新文章

  1. python做测试书籍推荐_学习pytest应该观看的书籍?
  2. WebRTC:并非解决音视频应用所有问题的银弹
  3. java多态的应用场景_Java开发笔记(五十一)多态的发生场景
  4. 关于多线程之GCD的一些学习要点
  5. Android中常见的MVC/MVP/MVVM模式
  6. Qt工作笔记-让界面飞一会(让界面旋转出来)
  7. SSL:Self-Supervised Learning(自监督学习)是什么?
  8. 数值变量值相等性的判断
  9. vs怎么生成html文件,vscode 快速生成html
  10. 初探Object in java
  11. redis zset转set 反序列化失败_关于Redis中的五种数据结构,要知其然知其所以然...
  12. Q88:全局光照(Global Illumination)——Path Tracing算法生成反射焦散效果的图形
  13. 三种方法在地图上绘制网络图
  14. 项目难题:Java几分钟处理完30亿个数据?
  15. 新闻APP受到各界关注 趣头条 大众看点 等新闻
  16. 移动端pc端兼容element-ui
  17. 空间数据库之矢量数据上载方法
  18. 数组下标越界解析(以C语言为例)
  19. 多活分布式数据中心如何实现DNS域名解析和负载均衡?
  20. Win10 S尽然如此对待Linux分支

热门文章

  1. 如何使用粒子氩气进行位置跟踪
  2. react 绑定 箭头函数_为什么箭头函数和React渲染中的绑定有问题
  3. gitee自动部署的使用
  4. golang module实践
  5. 迭代列表不要For循环,这是Python列表推导式最基本的概念
  6. ExtJs2.0学习系列(7)--Ext.FormPanel之第四式(其他组件示例篇)
  7. Ajax/JavaScript脚本大全,JS脚本大全
  8. Div+CSS布局入门教程(二) 写入整体层结构与CSS
  9. Web Service和SOAP以及HTTP的关系?
  10. 深度学习-Tensorflow1.x-CNN中的padding参数