#!/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. [UE4]增加开枪冷却时间, Get Time Seconds

    Get Time Seconds:游戏开始到现在过去了多少秒

  2. 获取器操作都是针对数据而不是数据集的,要通过append()方法添加数据表不存在的字段

    获取器操作都是针对数据而不是数据集的,要通过append()方法添加数据表不存在的字段 public function getMembership(){ //加入会员s_id = 1 $busines ...

  3. SpringMVC之HandlerAdapter解析

    HandlerAdapter字面上的意思就是处理适配器,它的作用用一句话概括就是调用具体的方法对用户发来的请求来进行处理.当handlerMapping获取到执行请求的controller时,Disp ...

  4. CVE-2017-12615漏洞利用

    Tomcat任意文件上传漏洞CVE-2017-12615复现 今天在群里听到有人讲这个CVE-2017-12615漏洞,想起自己的虚机ubuntu里面曾经装过tomcat,午休时间来瞅瞅. 漏洞利用条 ...

  5. [UE4]C++中SpawnActor用法(动态创建Actor)

    转自:http://aigo.iteye.com/blog/2270177 C++中创建一个Level并添加的Runtime当中 C++中Spawn一个基于蓝图的Actor https://answe ...

  6. Maven Project pom.xml属性解析

    pom.xml文件: groupId 定义了项目属于哪个组,根据自己的情况命名,比如谷歌公司的angular项目,就取名为 com.google.angular artifactId  定义了当前Ma ...

  7. Ribbon Workbench The plug-in execution failed because the Sandbox Client encountered an error during initialization

    使用 Ribbon Workbench打开解决方案时,出现The plug-in execution failed because the Sandbox Client encountered an ...

  8. Apache提供的dbUtils

    一.介绍 apache组织为我们提供了dbUtils实用工具(一些jar包),封装了一些查询的类和借口,相对自己定义的来说,可以简化很多操作 dbUtils提供了核心功能 1.QueryRunner  ...

  9. Windows Server 2016 启用完整版任务管理器

    众所周知 Windows Server 2012以上的任务管理器是被阉割过的 那么如何启用呢?首先把你的任务管理器复制一份出来位置:系统盘\Windows\System32\Taskmgr.exe和系 ...

  10. jQuery操作标签

    jQuery操作标签 样式操作: 对标签的样式进行修改,那么操作样式的方法是什么? 样式类: addClass();// 添加指定的CSS类名. removeClass();// 移除指定的CSS类名 ...