Python基础——语句_print

本文详细介绍了Python 2.x中print语句的工作原理及其语法特点,并讲解了如何利用print语句进行流重定向,包括自动化流重定向的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python2.*的print是一个语句,而非函数调用,后面可接任意类型。print语句的语法如下:

print x, y #把对象x, y打印到sys.stdout中,在对象之间加空格,在y之后添加换行
print x, y, #同上,不同之处在于y后不会添加换行 
print >> afile, x, y #把文本输出到文件对象afile中,而不是sys.stdout中



print语句把对象输出到标准输出流sys.stdout(文件对象)中。标准输出流通常映射到启动python程序的窗口。print是通过调用文件对象sys.stdout的方法实现print功能的:

print 1
<=>
sys.stdout.write(str(1) + "\n")

可以看到print通过封装sys.stdout.write()方法,提供了更简单的操作接口。而且使用print语句时,不需要把对象转换成字符串。



虽然默认情况下,print将对象发送到标准输出流,但是可以通过重定向操作输出到文件中去。如何在脚本中实现重定向脚本的流?

  • 通过对sys.stdout重新赋值为文件对象
sys.stdout = open("file", "a")
print X

print语句只是调用了sys.sydout.write()方法,而不管sys.stdout是什么。通过上面的赋值,所有的print语句都把对象打印到文件中。事实上,sys.stdout可以赋值成任意含有write()方法的对象。

  • 自动化流重定向
    上面的方法有个问题:没有保存原始输出流。
    当然可以通过手动的方式,显式的保存和恢复原始输出流。但是需要的代码比较多。现在print语句提供了一个扩展功能用于解决上面的问题:
print >> fileobject, X

通过操作>>,允许暂时的进行重定向。这种扩展形式通常也用于把错误消息打印到标准错误流sys.stderr中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值