python标准库学习1-SYS

sys常用的函数有
1.argv:命令行参数,包括脚本名称,如果只获取参数可以使用argv[1:],这个类似于shell中的$*
   
   
[root@python ~]# cat 1.py
#!/usr/bin/env python
import os
import sys
print sys.argv[1:]
[root@python ~]# ./1.py 1 2 3
['1', '2', '3']
2.path:查找模块所在的目录名称列表
   
   
>>> import sys
>>> sys.path
['', '/root', '/usr/lib64/python26.zip', '/usr/lib64/python2.6', '/usr/lib64/python2.6/plat-linux2', '/usr/lib64/python2.6/lib-tk', '/usr/lib64/python2.6/lib-old', '/usr/lib64/python2.6/lib-dynload', '/usr/lib64/python2.6/site-packages', '/usr/lib64/python2.6/site-packages/gtk-2.0', '/usr/lib/python2.6/site-packages', '/usr/lib/python2.6/site-packages/setuptools-0.6c11-py2.6.egg-info']

3.platform:类似sunos5或者win32的平台标识符
   
   
>>> sys.platform
'linux2'
>>>

4.stdin:标准输入流------一个类文件对象
5.stdout:标准输出流----一个类文件对象
6.stderr:标准错误留----一个类文件对象
标准输入和标准错误 (通常缩写为 stdout 和 stderr) 是内建在每一个 UNIX 系统中的管道。
当你 print 某些东西时,结果前往 stdout 管道;
当你的程序崩溃并打印出调试信息 (例如 Python 中的 traceback (错误跟踪)) 的时候,信息前往 stderr 管道,例如下面的例子
   
   
[root@python ~]# cat 1.py
#!/usr/bin/env python
import os
import sys
 
a=[1,2,3,4]
fd=open('1.txt','w')
sys.stdout=fd
sys.stderr=fd
for i in range(0,5):
print a[i]
fd.close()
 
[root@python ~]# ./1.py
[root@python ~]# cat 1.txt
1
2
3
4
Traceback (most recent call last):
File "./1.py", line 10, in <module>
print a[i]
IndexError: list index out of range
7.exit([arg]):退出当前程序
sys.exit 并不是立即退出. 而是引发一个 SystemExit 异常. 这意味着你可以在主程序中捕获对 sys.exit 的调用
   
   
[root@python ~]# cat 1.py
#!/usr/bin/env python
import sys
 
try:
for i in range(0,10):
if i==5:
sys.exit()
print i
except SystemExit:
print 'its ok'
except:
print 'fail'
[root@python ~]# ./1.py
0
1
2
3
4
its ok

8.modules:映射模块名到载入模块的字典
查找当前导入的模块:
   
   
>>> sys.modules.keys()
['copy_reg', 'encodings', 'site', '__builtin__', 'syslog', '__main__', 'encodings.encodings', 'abc', 'posixpath', 'errno', 'encodings.codecs', '_abcoll', 'types', '_codecs', '_warnings', 'genericpath', 'stat', 'zipimport', 'encodings.__builtin__', 'warnings', 'UserDict', 'encodings.utf_8', 'sys', 'codecs', 'readline', 'os.path', 'signal', 'linecache', 'posix', 'encodings.aliases', 'exceptions', 'abrt_exception_handler', 'os']













  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值