本文最后更新于 320 天前,其中的信息可能已经过时,如有错误请发送邮件到wuxianglongblog@163.com
sys 模块简介
import sys
命令行参数
sys.argv
显示传入的参数:
%%writefile print_args.py
import sys
print sys.argv
Writing print_args.py
运行这个程序:
%run print_args.py 1 foo
['print_args.py', '1', 'foo']
第一个参数 (sys.args[0]
) 表示的始终是执行的文件名,然后依次显示传入的参数。
删除刚才生成的文件:
import os
os.remove('print_args.py')
异常消息
sys.exc_info()
可以显示 Exception
的信息,返回一个 (type, value, traceback)
组成的三元组,可以与 try/catch
块一起使用:
try:
x = 1/0
except Exception:
print sys.exc_info()
(, ZeroDivisionError('integer division or modulo by zero',), )
sys.exc_clear()
用于清除所有的异常消息。
标准输入输出流
- sys.stdin
- sys.stdout
- sys.stderr
退出Python
sys.exit(arg=0)
用于退出 Python。0
或者 None
表示正常退出,其他值表示异常。
Python Path
sys.path
表示 Python 搜索模块的路径和查找顺序:
sys.path
['',
'C:\\Anaconda\\python27.zip',
'C:\\Anaconda\\DLLs',
'C:\\Anaconda\\lib',
'C:\\Anaconda\\lib\\plat-win',
'C:\\Anaconda\\lib\\lib-tk',
'C:\\Anaconda',
'C:\\Anaconda\\lib\\site-packages',
'C:\\Anaconda\\lib\\site-packages\\Sphinx-1.3.1-py2.7.egg',
'C:\\Anaconda\\lib\\site-packages\\cryptography-0.9.1-py2.7-win-amd64.egg',
'C:\\Anaconda\\lib\\site-packages\\win32',
'C:\\Anaconda\\lib\\site-packages\\win32\\lib',
'C:\\Anaconda\\lib\\site-packages\\Pythonwin',
'C:\\Anaconda\\lib\\site-packages\\setuptools-17.1.1-py2.7.egg',
'C:\\Anaconda\\lib\\site-packages\\IPython\\extensions']
在程序中可以修改,添加新的路径。
操作系统信息
sys.platform
显示当前操作系统信息:
Windows: win32
Mac OSX: darwin
Linux: linux2
sys.platform
'win32'
返回 Windows
操作系统的版本:
sys.getwindowsversion()
sys.getwindowsversion(major=6, minor=2, build=9200, platform=2, service_pack='')
标准库中有 planform
模块提供更详细的信息。
Python 版本信息
sys.version
'2.7.10 |Anaconda 2.3.0 (64-bit)| (default, May 28 2015, 16:44:52) [MSC v.1500 64 bit (AMD64)]'
sys.version_info
sys.version_info(major=2, minor=7, micro=10, releaselevel='final', serial=0)