#!/bin/env python
#-*- encoding=utf8 -*-
import sys
if __name__=="__main__":
# 在解释器启动后, argv 列表包含了传递给脚本的所有参数, 列表的第一个元素为脚本自身的名称.
print sys.argv 执行命令: D:\python_test>python test_path.py
输出结果:['test_path.py'] 执行命令: D:\python_test>python test_path.py 9090
输出结果:['test_path.py', '9090']
#!/bin/env python
#-*- encoding=utf8 -*- # 使用sys模块操作模块搜索路径
if __name__=="__main__": import sys
# path 列表是一个由目录名构成的列表
# Python 从中查找扩展模块( Python 源模块, 编译模块,或者二进制扩展).
# path是一个普通的列表,可以在程序中对其进行操作
print sys.path sys.path.insert(0,"samples") # 将路径插入到下标0的位置
sys.path.append("Root_path") # 程序中会用到指定路径插入到搜索路径列表中
print sys.path sys.path = [] # 删除path中的所有路径
print sys.path

sys.builtin_module_names:  #查找内建模块是否存在

#!/bin/env python
#-*- encoding=utf8 -*- import sys def dump(module):
print module, "=>",
if module in sys.builtin_module_names: #查找内建模块是否存在
print "<BUILTIN>"
else:
module = __import__(module) #非内建模块输出模块路径
print module.__file__ if __name__=="__main__":
dump("sys")
dump("os")

使用sys模块查找已导入的模块

modules 字典包含所有加载的模块. import 语句在从磁盘导入内容之前会先检查这个字典.

Python 在处理你的脚本之前就已经导入了很多模块.

#!/bin/env python
#-*- encoding=utf8 -*- import sys if __name__=="__main__": print sys.modules.keys()

使用sys模块获得当前平台

#!/bin/env python
#-*- encoding=utf8 -*- import sys if __name__=="__main__": print sys.platform 输出: win3

使用sys模块退出程序

import sys
sys.exit(1) # 使用exit函数时,会已抛出异常的方式来结束程序

注意 sys.exit 并不是立即退出. 而是引发一个 SystemExit 异常. 这意味着你可以在主程序中捕获对 sys.exit 的调用

捕获sys.exit调用

如果准备在退出前自己清理一些东西(比如删除临时文件), 你可以配置一个 "退出处理函数"(exit handler), 它将在程序退出的时候自动被调用

#!/bin/env python
#-*- encoding=utf8 -*- import sys if __name__=="__main__": print "hello"
try:
sys.exit(1)
except SystemExit: # 捕获退出的异常
print "SystemExit...."
pass # 捕获后不做任何操作
print "there" 输出:hello
SystemExit....
there

另一种捕获sys.exit调用的方法

#!/bin/env python
#-*- encoding=utf8 -*- import sys # 退出前执行的函数
def exitfunction():
print "get exit function" if __name__=="__main__": sys.exitfunc = exitfunction # 设置捕获时调用的函数
print "hello" sys.exit(1) # 退出自动调用exitfunc()后,程序依然退出
print "end.." # 不会被print 输出: hello
get exit function

python模块sys的更多相关文章

  1. python模块(sys)

    SYS模块 sys.argv # 命令行参数List,第一个元素是程序本身路径 sys.exit(n) # 退出程序,正常退出时exit(0) sys.version # 获取Python解释程序的版 ...

  2. Python模块-sys模块

    sys.version        获取Python解释程序的版本信息 >>> sys.version '2.7.12 (default, Dec 4 2017, 14:50:18 ...

  3. python模块----sys模块 (系统相关的参数和函数)

    pprint 模块:它给我们提供了一个方法 pprint() 该方法可以用来对打印的数据做简单的格式化 sys模块+pprint模块 标准库网址(sys):https://docs.python.or ...

  4. python 模块之-sys

    python 模块 sys import sys sys.argv       # 参数,第一个参数是脚本的文件明,自定义参数为数组的第二个   sys.argv[1] sys.version   # ...

  5. Python常用模块sys,os,time,random功能与用法,新手备学。

    这篇文章主要介绍了Python常用模块sys,os,time,random功能与用法,结合实例形式分析了Python模块sys,os,time,random功能.原理.相关模块函数.使用技巧与操作注意 ...

  6. python之sys模块详解

    python之sys模块详解 sys模块功能多,我们这里介绍一些比较实用的功能,相信你会喜欢的,和我一起走进python的模块吧! sys模块的常见函数列表 sys.argv: 实现从程序外部向程序传 ...

  7. python学习笔记27(python中sys模块的使用)

    sys.argv           命令行参数List,第一个元素是程序本身路径 sys.modules.keys() 返回所有已经导入的模块列表 sys.exc_info()     获取当前正在 ...

  8. python之sys模块

    38.python的sys模块: 用于提供对Python解释器相关的操作: 1 2 3 4 5 6 7 8 9 sys.argv           命令行参数List,第一个元素是程序本身路径 sy ...

  9. Python模块 - os , sys.shutil

    os 模块是与操作系统交互的一个接口 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录: ...

随机推荐

  1. 如何用MAT分析Android程序的内存泄露

    本文结合<Android开发艺术探索>书籍中的内存分析例子来讲解如何利用MAT工具来查找内存泄漏(以AndroidStudio开发工具为例). 1.下载MAT(Eclipse Memory ...

  2. centos7 使用二进制安装mysql 5.7.23

    1.下载二进制安装包 mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz cd /usr/local/src wget https://cdn.mysql.com// ...

  3. linux的cd、ls、chmod命令

    cd ls ls:查看权限  chmod:修改权限

  4. sas 获取字符串长度实例

    data _null_;a='Dogcat';b=' Dog cat';c=' Dog cat   ';Ra=length(a);Rb=length(b);Rc=length(c);put Ra=Rb ...

  5. window安装mysql教程

    1.下载mysql安装包到指定文件: 比如如图我把下载的mysql zip的内容解压到这个文件里面,具体文件内容如下: my.ini 需要自己创建,里面的内容如下: [mysqld] #basedir ...

  6. es6基础(3)-正则扩展

    //正则扩展 { let regex=new RegExp('xyz','i'); let regex2=new RegExp(/xyz/i); console.log(regex.test('xyz ...

  7. web前端全栈学习之路

    web前端全栈学习之路 --- 陆续更新中 一.HTML相关 1.HTML常用标签:http://www.cnblogs.com/wyb666/p/8733699.html 2.HTML5基础: 3. ...

  8. gentoo kvm qemu virt-manager - Unable to complete install: error creating macvtap interface macvtap0@: Operation not supported'

    碰到这个一般是内核没有开启相应的 macvtap 选项,开启相应选项后,就不会报错了. Device Drivers ---> Network Device Support ---> &l ...

  9. JVM Tools

    Java VisualVm 提供可视化界面展示运行在JVM上应用的信息.这些信息可用于诊断剖析应用. Jconsole Jconsole是基于JMX监视工具.Jconsole使用内置的JMX在java ...

  10. SAP HANA HDBSQL命令

    1.登录: window操作系统下面: 打开C:\Program Files\SAP\hdbclient\hdbsql.exe \c 连接数据库  connect的缩写 HANA hostname:  ...