python的sys模块是与python解释器交互的一个接口,提供对解释器使用或维护的一些变量的访问,即与解释器强烈交互的函数。

sys模块的常用函数:

1.sys.argv:命令行参数列表。第一个元素是脚本的名称,后面是终端传入的值;可以在执行整个程序前通过终端传入参数,然后执行程序,实现从程序外部向程序内部来传递参数。

2.sys.path:返回模块的搜索路径的列表。可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。也可以使用        sys.path.append(path)添加模块搜索路径。

3.sys.exit(n):退出解释器,n=0为正常退出,其他为异常退出。一般情况下执行到主程序末尾,解释器自动退出。但是如果需要中途退出  程序,可以调用sys.exit函数。【注意】exit()运用在交互式shell中,而sys.exit主要用于程序中,二者功能类似。

4.sys.modules:python启动时就被导入的所有模块,以及import 导入的模块存放的一个字典 key为模块的名称,value为模块对应的内 存地址。sys.modules是一个全局字典,该字典是python启动后就加载在内存中。每当导入新的模块,sys.modules将自动记录该模块。当第二次再导入该模块时,python会直接到字典中查找,从而加快了程序运行的速度。它拥有字典所拥有的一切方法。

5.sys.version获取Python解释程序的版本信息。

6.sys.platform:返回操作系统平台名称。如:win32、Linux等。

7.sys.stdin/sys.stdout:标准输入/标准输出。如果需要更好地控制输出,而print不能满足要求时,可以使用它们。

8.sys.getdefaultencoding() :获取系统当前编码,一般默认为ascii。

9.sys.setdefaultencoding() :设置系统默认编码,执行dir(sys)时不会看到这个方法,在解释器中执行不通过,可以先执行reload(sys),在执行 setdefaultencoding('utf8'),此时将系统默认编码设置为utf8。

10.sys.getfilesystemencoding() :获取文件系统使用编码方式,例如:mac下返回'utf-8'。

函数演示:

 1.假设sys.py脚本文件内容如下:

 #!/usr/bin/env python

 import sys
print(sys.argv[0])
print(sys.argv[1])

命令行执行:python sys.py first ,则输出:

 sys.py
first

 2.假设exit.py脚本文件内容如下:

 #!/usr/bin/env python

 import sys

 def exitfunc(value):
print(value)
sys.exit(0) print("hello1") try:
sys.exit(1)
except SystemExit,value:
exitfunc(value) print("hello2")

命令行执行:python exit.py,则输出:

 hello1
1

 3.sys.path演示:

 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']

 4.sys.modules演示:

 #!/usr/bin/env python

 import sys

 print(sys.modules.keys())
6 print(sys.modules.values())
7
8 print(sys.modules["os"]) # 输出 os 模块的路径

 5.sys.stdout标准输出演示:

 import time

 for i in range(50):
sys.stdout.write("*") # 打印*号,输出 *1 ;类似于print ,但print输出则为 *,这是区别
time.sleep(0.1)
sys.stdout.flush() # 刷新,显示到屏幕上

12.python内置模块之sys模块介绍的更多相关文章

  1. python基础31[常用模块介绍]

    python基础31[常用模块介绍]   python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的. 常用的li ...

  2. Python内置模块和第三方模块

    1.Python内置模块和第三方模块 内置模块: Python中,安装好了Python后,本身就带有的库,就叫做Python的内置的库. 内置模块,也被称为Python的标准库. Python 2.x ...

  3. python os和sys模块使用

    python os和sys模块使用 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相 ...

  4. (转)python之os,sys模块详解

    python之sys模块详解 原文:http://www.cnblogs.com/cherishry/p/5725184.html sys模块功能多,我们这里介绍一些比较实用的功能,相信你会喜欢的,和 ...

  5. [转载]python中的sys模块(二)

    #!/usr/bin/python # Filename: using_sys.py import sys print 'The command line arguments are:' for i ...

  6. [转载]Python中的sys模块

    #!/usr/bin/python # Filename: cat.py import sys def readfile(filename): '''Print a file to the stand ...

  7. Python os与sys模块解析

    os与sys模块的官方解释如下: os: This module provides a portable way of using operating system dependent functio ...

  8. Python基础知识—sys模块初探

    有关Python解释器的信息 与所有其他模块一样,必须使用import语句导入sys模块,即import sys. sys模块提供有关Python解释器的常量,函数和方法.dir(系统)给出了可用常量 ...

  9. Python正则表达式与re模块介绍

    Python中通过re模块实现了正则表达式的功能.re模块提供了一些根据正则表达式进行查找.替换.分隔字符串的函数.本文主要介绍正则表达式先关内容以及re模块中常用的函数和函数常用场景. 正则表达式基 ...

随机推荐

  1. Codeforces Choosing Laptop 题解

    这题实在是太水了,具体看注释 蒟蒻的方法是一边找过时的电脑一边比大小 蒟蒻不才,只会C++ 其实还会free basic,但它已经过时了 附: 本题洛谷网址 Codeforces网址 希望蒟蒻的题解能 ...

  2. 【洛谷4424】[HNOI_AHOI2018]寻宝游戏(我也不知道括号里该写啥)

    题目 洛谷 4424 分析 感觉思路比较神仙. 对于按位与和按位或两种运算,显然每一位是独立的,可以分开考虑. 对于某一位,「与 \(0\)」会将这一位变成 \(0\),「或 \(1\)」会将这一位变 ...

  3. Docker windows 容器启动失败 network not found

    前几天由于重启了服务器,docker配置的网络出了些问题导致在docker容器中安装的mysql识别用户权限时发生错误.(从宿主机A以user身份 登入到容器B中安装的Mysql时,用户竟然不是use ...

  4. GitHub 上这几个沙雕项目,够我玩几天

    在家里都憋坏了吧?每天睡了吃吃了睡,该找点事做做了,今天推荐几个好(沙)玩(雕)的开源项目,好在家打发时间. 91 吴先生 一个在线的 PornHub 风格 Logo 生成工具 Logoly.Pro ...

  5. STM32学习笔记:基础例子

    本例子代码参考了STM32库开发实战指南中的代码,由于使用的板子是尚学STM32F103ZET6,为了配合板上已有资源,也参考了其配套代码.为了便于书写文本,我尽量将代码都写到了一个文件中,这种方式是 ...

  6. 链接拼接的方法(用于解决同一个脚本返回两种不同的url链接的问题)

    实例一: 上图所示 爬虫返回的链接有一部分带有http前缀,有一部分没有,且也不知道具体哪些链接会出现没有前缀的情况 后面如果通过返回链接进行再次访问,那么肯定会出现报错的问题 思路: 判断 返回值内 ...

  7. linux下svn安装和使用(centos)

    1.安装svn 本地测试环境 centos6.5 # yum安装 yum -y install subversion # 查看svn版本 svnserve --version # 建立版本库目录 mk ...

  8. codeforces 1278F - Cards(第二类斯特林数+二项式)

    传送门 解题过程: \(答案=\sum^n_{i=0}*C^i_n*{\frac{1}{m}}^i*{\frac{m-1}{m}}^{n-i}*i^k\) 根据第二类斯特林数的性质\(n^k=\sum ...

  9. HBase学习总结

    一.HBase介绍 1.基本概念 HBase是一种Hadoop数据库,经常被描述为一种稀疏的,分布式的,持久化的,多维有序映射,它基于行键.列键和时间戳建立索引,是一个可以随机访问的存储和检索数据的平 ...

  10. 15、WAN

    WAN wide area network 覆盖较大地理范围的数据通信网络使用网络提供商和电信公司所提供的传输设施传输数据 通过不同WAN协议,将LAN延伸到远程站点的其他LAN广域网接入处于OSI七 ...