Python常用标准库 --- sys
2017-03-03 15:06
453 查看
转自:http://lizhenliang.blog.51cto.com/7876557/1872538
1)sys.argv
命令行参数。
argv[0] #代表本身名字
argv[1] #第一个参数
argv[2] #第二个参数
argv[3] #第三个参数
argv
#第N个参数
argv #参数以空格分隔存储到列表。
看看使用方法:
值得注意的是,argv既然是一个列表,那么可以通过len()函数获取这个列表的长度从而知道输入的参数数量。可以看到列表把自身文件名也写了进去,所以当我们统计的使用应该-1才是实际的参数数量,因此可以len(sys.argv[1:])获取参数长度。
2)sys.path
模块搜索路径。
输出的是一个列表,里面包含了当前Python解释器所能找到的模块目录。
如果想指定自己的模块目录,可以直接追加:
3)sys.platform
系统平台标识符。
>>> sys.platform
'linux2'
Python本身就是跨平台语言,但也不就意味着所有的模块都是在各种平台通用,所以可以使用这个方法判断当前平台,做相应的操作。
4)sys.subversion
在第一章讲过Python解释器有几种版本实现,而默认解释器是CPython,来看看是不是:
5)sys.version
查看Python版本:
6)sys.exit()
退出解释器:
代码执行到sys.exit()就会终止程序。
7)sys.stdin、sys.stdout和sys.stderr
标准输入、标准输出和错误输出。
标准输入:一般是键盘。stdin对象为解释器提供输入字符流,一般使用raw_input()和input()函数。
例如:让用户输入信息
再例如,a.py文件标准输出作为b.py文件标准输入:
sys.stdout.write()方法其实就是下面所讲的标准输出,print语句就是调用了这个方法。
标准输出:一般是屏幕。stdout对象接收到print语句产生的输出。
例如:打印一个字符串
sys.stdout是有缓冲区的,比如:
本是每隔一秒输出一个数字,但现在是循环完才会打印所有结果。如果把sys.stdout.flush()去掉,就会没执行到print就会刷新stdout输出,这对实时输出信息的程序有帮助。
错误输出:一般是错误信息。stderr对象接收出错的信息。
例如:引发一个异常
1)sys.argv
命令行参数。
argv[0] #代表本身名字
argv[1] #第一个参数
argv[2] #第二个参数
argv[3] #第三个参数
argv
#第N个参数
argv #参数以空格分隔存储到列表。
看看使用方法:
#!/usr/bin/python # -*- coding: utf-8 -*- import sys print sys.argv[0] print sys.argv[1] print sys.argv[2] print sys.argv[3] print sys.argv print len(sys.argv) # python test.py test.py a b c c ['test.py', 'a', 'b', 'c'] 4
值得注意的是,argv既然是一个列表,那么可以通过len()函数获取这个列表的长度从而知道输入的参数数量。可以看到列表把自身文件名也写了进去,所以当我们统计的使用应该-1才是实际的参数数量,因此可以len(sys.argv[1:])获取参数长度。
2)sys.path
模块搜索路径。
>>> sys.path ['', '/usr/local/lib/python2.7/dist-packages/tornado-3.1-py2.7.egg', '/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']
输出的是一个列表,里面包含了当前Python解释器所能找到的模块目录。
如果想指定自己的模块目录,可以直接追加:
>>> sys.path.append('/opt/scripts') >>> sys.path ['', '/usr/local/lib/python2.7/dist-packages/tornado-3.1-py2.7.egg', '/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', '/opt/scripts']
3)sys.platform
系统平台标识符。
系统 | 平台标识符 |
Linux | linux |
Windows | win32 |
Windows/Cygwin | cygwin |
Mac OS X | darwin |
'linux2'
Python本身就是跨平台语言,但也不就意味着所有的模块都是在各种平台通用,所以可以使用这个方法判断当前平台,做相应的操作。
4)sys.subversion
在第一章讲过Python解释器有几种版本实现,而默认解释器是CPython,来看看是不是:
>>> sys.subversion ('CPython', '', '')
5)sys.version
查看Python版本:
>>> sys.version '2.7.6 (default, Jun 22 2015, 17:58:13) \n[GCC 4.8.2]'
6)sys.exit()
退出解释器:
#!/usr/bin/python # -*- coding: utf-8 -*- import sys print "Hello world!" sys.exit() print "Hello world!" # python test.py Hello world!
代码执行到sys.exit()就会终止程序。
7)sys.stdin、sys.stdout和sys.stderr
标准输入、标准输出和错误输出。
标准输入:一般是键盘。stdin对象为解释器提供输入字符流,一般使用raw_input()和input()函数。
例如:让用户输入信息
#!/usr/bin/python # -*- coding: utf-8 -*- import sys name = raw_input("Please input your name: ") print name # python test.py Please input your name: xiaoming xiaoming 1 2 3 4 5 6 7 8 9 import sys print "Please enter your name: " name = sys.stdin.readline() print name # python b.py Please enter your name: xiaoming xiaoming
再例如,a.py文件标准输出作为b.py文件标准输入:
# cat a.py import sys sys.stdout.write("123456\n") sys.stdout.flush() # cat b.py import sys print sys.stdin.readlines() # python a.py | python b.py ['123456\n']
sys.stdout.write()方法其实就是下面所讲的标准输出,print语句就是调用了这个方法。
标准输出:一般是屏幕。stdout对象接收到print语句产生的输出。
例如:打印一个字符串
#!/usr/bin/python # -*- coding: utf-8 -*- import sys print "Hello world!" # python test.py Hello world!
sys.stdout是有缓冲区的,比如:
import sys import time for i in range(5): print i, # sys.stdout.flush() time.sleep(1) # python test.py 0 1 2 3 4
本是每隔一秒输出一个数字,但现在是循环完才会打印所有结果。如果把sys.stdout.flush()去掉,就会没执行到print就会刷新stdout输出,这对实时输出信息的程序有帮助。
错误输出:一般是错误信息。stderr对象接收出错的信息。
例如:引发一个异常
>>> raise Exception, "raise..." Traceback (most recent call last):File "<stdin>", line 1, in <module> Exception: raise...
相关文章推荐
- 【循序渐进学Python】11.常用标准库
- Python标准库_ sys,random,time
- python标准库学习1-SYS
- python常用的一些东西——sys、os等(转)
- A Byte of Python 笔记(12)python 标准库:sys、os,更多内容
- python: 常用的一些函数——sys、os等
- python常用的一些东西——sys、os模块
- python常用的一些东西——sys、os等(转)
- python的一些常用的标准库
- Python常用模块之sys
- python基础教程_学习笔记13:标准库:一些最爱——sys
- Python标准库:内置函数print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
- Python标准库:内置函数print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
- python常用模块os,random,sys
- Python标准库之Sys模块使用详解
- 【Python】标准库模板os, sys, platform, logging
- Python 常用标准库介绍
- python常用的一些东西——sys、os等
- Python基础--人们一些最爱的标准库(sys os fileinput)
- python3常用的系统标准库