您的位置:首页 > 编程语言 > Python开发

python学习笔记(十一)标准库sys

2017-07-23 22:05 357 查看
sys模块包括了一组非常实用的服务,内含很多函数方法和变量,用来处理Python运行时配置以及资源,从而可以与前当程序之外的系统环境交互,如:Python解释器。

1. 导入sys模块

首先,打开终端模拟器进入Python解释器或者打开IDE编辑器创建一个新的.py后缀名的Python程序文件。

下面,以解释器中的操作举例:

>>> import sys #导入sys模块

>>> dir(sys)     #dir()方法查看模块中可用的方法

注意:如果是在编辑器,一定要注意要事先声明代码的编码方式,否则中文会乱码。

2. sys模块重要函数变量
1 ) sys.stdin 标准输入流。
2)sys.stdout 标准输出流。
3 ) sys.stderr 标准错误流。
4 ) sys.path 查找模块所在目录的目录名列表。
5 ) sys.argv 命令行的参数,包括脚本名称。
6 ) sys.platform 返回当前系统平台,如:win32、Linux等。

3. sys常用方法使用说明

一、stdin:从标准输入读入数据

script.py

import sys
text = sys.stdin.read()
words = text.split()
for i in words:
print i


cat source.txt | script.py | sort

 

二、argv:获取程序外部向程序传递的参数

script.py

import sys
print sys.argv[0]
print sys.argv[1]


python script.py arg1 arg2

 

三、exit():退出当前进程

scrpit.py

import sys

def exitfunc(value):
print value
sys.exit(0)

print "hello"

try:
sys.exit(1)
except SystemExit,value:
exitfunc(value)

print "come?"


python script.py

 

四、stdout

这个有点复杂

首先介绍一下stdout与print 的区别

print 将你需要的内容打印到了控制台,然后追加了一个换行符

print 会调用 sys.stdout 的 write 方法

下边两行结果是一样的:

sys.stdout.write('hello'+'\n')
print 'hello'

sys.stdout指向控制台,如果将文件对象的引用赋值给sys.stdout,那么就会输出到文件。如果输出到文件之后还想在控制台输出内容,那么应该将控制台的对象引用保存下来。

# -*- coding = UTF-8 -*-
import sys
f_handler = open('out.log','w')
__console__ = sys.stdout
sys.stdout = f_handler
print 'hello'#这一行将会输出到文件,和调用文件的write方法相同
sys.stdout = __console__
print 'hello'#这一行输出到控制台


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: