一、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'#这一行输出到控制台

 未完待续……

posted on 2017-03-07 17:36  安然のblog  阅读(9729)  评论(0编辑  收藏  举报