问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求python 中sys.stdout.write 和 print >> sys.stdout的区别,越详 ...

发布网友 发布时间:2022-04-23 15:06

我来回答

1个回答

热心网友 时间:2022-04-19 03:31

下面应该可以解你的惑了:

print >> sys.stdout的形式就是print的一种默认输出格式,等于print "%VALUE%"

看下面的代码的英文注释,是print的默认帮助信息

# coding=utf-8
import sys, os

list1Display = ['1', '2', '3']
list2Display = ['abc', 'def', 'rfs']
while list2Display != []:
    # Prints the values to a stream, or to sys.stdout by default.
    # Optional keyword arguments:
    # file: a file-like object (stream); defaults to the current sys.stdout.
    # sep:  string inserted between values, default a space.
    # end:  string appended after the last value, default a newline.
    # print 可以将值输出到指定的输出流(可以是文件句柄),若不指定,
    # 则输出到stdout(标准输出)
    # 一般我们使用的时候不加输出定向符“>>”到输出的file对象,本代码中对象是stdout
    # 下面的print在stdout对象中每次输出两个值
    print >> sys.stdout, list2Display.pop(), list1Display.pop()
os.system( "pause" )

上文中只演示了python2.x中的用法,2.x中的print无法指定end符号为其他值,默认会输出一个"\n",也就是用一次必定换到下一行,到了3.x中print成为了一个真正意义上的函数,后来就可以任意指定end符号的值,你可以输出一次后末尾添加上任意你想要的值,而不是强制换行。



因此在2.x中若想实现输出不换行,只能直接调用stdout对象的write方法了,下面也是一个实例,因为stdout没有end这个符号这一说,输出不会换行,因此如果你想同一样输出多次,在需要输出的字符串对象里面加上"\r",就可以回到行首了。

# coding=utf-8
import sys, os
import time
for i in range( 100 ):
    time.sleep( .5 )
    sys.stdout.write( "File transfer progress :[%3d] percent complete!\r" % i )
    sys.stdout.flush()

体会一下,将上面的"\r"拿掉试试看,是不是不换行而直接输出了?明白了么。很长一段时间内python都会停留在2.x的时代。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 【关于python】请问sys.stdout.flush()是什么意思?一般用在什么地方... 拜托大家帮忙帮起个女孩名字一个名字要带火字旁和水字旁的(三点水也可以) python sys.stdout.write 这个怎么理解 请帮忙起个女孩名字,本人姓张,小女起的名字中得有字带木字旁和水的字旁或三点水旁 python stdout 什么用 龙年女孩取名最好有三点水旁的字,姓张!八字喜「火」 python sys.stdout.write 是怎么意思 ?怎么用 女孩姓张名字带三点水的名 姓张,取个好听唯美的女生名字。带单人旁、木字旁、三点水的最好。 女孩姓张,中间用文子,最后一个字带氵旁,看看叫张文什么好听 求机械课程设计“药丸铝塑封”的尽量详细点的资料,最好带各主要部位的机构简图 求帮忙取名字,张姓女孩,10年10月6日上午八时出生,求带三点水的好名字 哪家上市公司的A类点钞机好? 姓张 名字 女孩关于三点水的 银行大厅都有哪些设备 张姓女孩想取个带三点水的名字 永磁式直流电机工作原理 本人姓张给女儿取个带氵和艹偏旁的名字 练功券是干嘛用的? 图片上的叫什么 python sys.stdout.buffer.write什么意思 python3 交互模式中sys.stdout.write为什么会多输出一位数字 Python sys.stdout与sys.stderr 与控制台输出异常有关吗 python的sys是什么文件 Python sys模块 是做什么的 python标准输出重定向stdout.py的意思 python管道问题 谁能解释一下print与sys.stdout.write的区别 sys是python中的标准库吗 Python中sys模组stdin的问题 Python的一个简单问题:for line in sys.stdin: 轻松筹的轻松互助是什么意思?轻松筹有个你交10元的什么大病方面的互助... 轻松筹轻松互助项目具体监管制度或者审核机制有哪些? 轻松筹的轻松互助任何人都可以参加吗? 苹果设置息屏时间 黑色西装上沾了铁锈怎么洗掉? 去铁锈的好方法 这种铁锈怎么去除? 怎样清除铁锈? 如何去除身上铁锈?