目录


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

sys模块的常见函数列表

  • sys.argv: 实现从程序外部向程序传递参数。
  • sys.platform: 获取当前系统平台。
  • sys.path: 获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。
  • 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.stdin,sys.stdout,sys.stderr: stdin , stdout , 以及stderr 变量包含与标准I/O 流对应的流对象. 如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需要的. 你也可以替换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或者以非标准的方式处理它们

1.sys.argv

获取当前正在执行的命令行参数的参数列表(list)。

2.sys.platform

获取当前执行环境的平台

1
2
3
>>> import sys
>>> sys.platform
'linux2'

  

3.sys.path

path是一个目录列表,供Python从中查找第三方扩展模块。

1
2
3
>>> import sys
>>> sys.path
['', '/usr/lib/python27.zip', '/usr/lib64/python2.7', '/usr/lib64/python2.7/plat-linux2', '/usr/lib64/python2.7/lib-tk', '/usr/lib64/python2.7/lib-old', <br>'/usr/lib64/python2.7/lib-dynload', '/usr/lib64/python2.7/site-packages', '/usr/local/lib64/python2.7/site-packages', '/usr/local/lib/python2.7/site-packages',<br> '/usr/lib/python2.7/site-packages']

  

4.sys.exit(n)

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

1
2
3
4
5
6
7
8
9
10
#!/usr/bin/env python
 
import sys
 
def exitfunc():
    print "exit"
    sys.exit(0)
 
exitfunc()
print "i want print"

  

  最终只输出:exit   而直接将程序退出。

import sys的更多相关文章

  1. 升级PyCham到2017.3后import sys模块报错的问题

    今天PyCharm提示升级后选择了更新,根据提示更新成功(2017.3)后发现总是报无法找到sys模块的错误,截图如下: 其实有一条红线留在那里也不影响运行和使用,但总看着不爽. 经过一番研究,由于我 ...

  2. 系统相关的信息模块: import sys

    系统相关的信息模块: import sys sys.argv 是一个 list,包含所有的命令行参数. sys.stdout sys.stdin sys.stderr 分别表示标准输入输出,错误输出的 ...

  3. Python学习笔记:import sys模块(argv、path、platform、exit)

    sys模块是Python标准库中自带的一个模块. sys模块包括了一组非常实用的服务,内含很多函数方法和变量,用来处理Python运行时配置以及资源,从而可以与当前程序之外的系统环境交互,如:Pyth ...

  4. import sys sys.path.append(...)

    模块搜索路径: 当我们试图加载一个模块时,Python会在指定的路径下搜索对应的.py文件,如果找不到,就会报错 默认情况下,Python解释器会搜索当前目录.所有已安装的内置模块和第三方模块,搜索路 ...

  5. 笨方法学python之import sys与from sys import argv的区别

    这是在网上看到的一个大神的解答: sys is a module that contains “system functionality”. sys.argv is a list containing ...

  6. python学习之——import sys模块

    (1)sys.argv sys模块中的argv变量通过使用点号指明——sys.argv——这种方法的一个优势是这个名称不会与任何在你的程序中使用的argv变量冲突.另外,它也清晰地表明了这个名称是sy ...

  7. Python档案袋( Sys 与 Import 模块)

    Sys模块: 获取Python有关的环境变量: import sys #得到Python的一些相关路径,环境变量 #其中site-packages目录存放的是一些第三方库 #其中lib目录存放的是一些 ...

  8. Python Import机制备忘-模块搜索路径(sys.path)、嵌套Import、package Import

    出处:http://blog.csdn.net/kernelspirit/article/details/3381666 最近在看<Python源码剖析>,对Python内部运行机制比以前 ...

  9. Python高级语法-import导入-sys.path(4.4.1)

    @ 目录 1.说明 2.代码 关于作者 1.说明 在开发程序的过程中,往往使用sys.path去验证下导入的目录,返回的是列表 先后顺序,就是扫描的先后顺序 ,也可以加入搜索路径 import有个特点 ...

随机推荐

  1. react router @4 和 vue路由 详解(四)vue如何在路由里面定义一个子路由

    完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html 6.vue如何在路由里面定义一个子路由? 给父路由加一个 children:[] 参考我 ...

  2. oo作业总结报告2

    第五次作业 多线程电梯 多线程同步和控制的设计策略 明确类和对象,以及是否区分对象实例.具体类可以从类图中看出: 明确线程的类型和数量.输入作为一个线程,调度作为一个线程,三个电梯独立工作,互不影响, ...

  3. javascript es6系列教程 - 不定参数与展开运算符(...)

    三个点(...)在es6中,有两个含义: 用在形参中, 表示传递给他的参数集合, 类似于arguments, 叫不定参数. 语法格式:  在形参面前加三个点( ... ) 用在数组前面,可以把数组的值 ...

  4. Saiku缓存处理(七)

    Saiku缓存处理方案 Saiku默认是从缓存中读取数据的(如果缓存中有数据的话),所以用户看到的数据不一定是最新的,如果需要看到最新的的数据需要手动刷新数据或者更改配置信息. Saiku获取实时数据 ...

  5. asp.net中HttpModule扩展的浅析

    在asp.net中,我们可以使用HttpModule扩展自己的相关业务.可以在HttpApplication的19个管道事件中注入我们自己的业务逻辑代码. 闲话不说,代码先上. 一.新建网站项目 我们 ...

  6. Cracking The Coding Interview 5.6

    //Write a program to swap odd and even bits in an integer with as few instructions as possible (e.g. ...

  7. 数字签名-MD5

    MD5是信息摘要的意思,报文产生摘要是唯一的(1:1),而且是单向的(通过摘要反推不出源报文) java中的java.security.MessageDigest类,参考MessageDigest的功 ...

  8. jq 全选与联动的小例子

    function initcheckbox () { $(".j-jobs-power dl dt input").click(function () { if (this.che ...

  9. SpringSecurity入门例子及遇到的问题解决

    最近学习<Spring 实战>学习到了SpringSecurity,觉得书本上的例子过于复杂,而且不喜欢它基于java配置,更喜欢用xml文件进行配置 于是在极客学院网上学习,感觉挺不错的 ...

  10. C# string 与 String的区别

    C# string 与 String的区别 The string type represents a string of Unicode characters. string is an alias ...