786yr 发表于 2014-7-22 08:59:48

python标准输出 标准错误 重定向

1、sys.stdin为文件对象, 当对文件对象做循环的时候,返回的为行数2、ls > log 2>&1标准输出和标准错误都输出到log,&> log也可以,但是会有版本限制
3、print 和stdout的区别:
print 是调用一个对象的write方法,通常是stdout
print会先进行格式转换
print 123456   == sys.stdout.write(str(123456)+'\n')
4、标准输出不可以为int类型, sys.stdout.write(1)不可以
5、shell中& 单独为后台执行, >& 为管道,重定向到管道
>log 1>&2把标准输出输出到标准错误   一同显示出来,而log中没有内容
>log2>&1 把标准错误输出到标准输出, 则不会打印输出,而log中会有内容
python 中为:
print >> sys.stderr,"%s is not exists" % f
sys.stdout.write("I am standard output\n")
5、python -u buffer.py | cat -   (-的意思为从标准输入读数据,不加也可以) (-u 禁止buffer输出)
6、locals()以字典的形式返回参数值
7、sys.argv 以列表的形式收集参数   


页: [1]
查看完整版本: python标准输出 标准错误 重定向