python中print(obj) 与sys.stdout.write()的区别

Posted 夏天换上冬装

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中print(obj) 与sys.stdout.write()的区别相关的知识,希望对你有一定的参考价值。

print(obj) 其实等价于sys.stdout.write(obj+
),而
表示回到行首,所以需要输出进度条时可以用以下代码
rate = float(has_sent) / float(file_size)
rate_num = int(rate * 100)
sys.stdout.write("%s%% %s "%(rate_num, "*" * rate_num))

因为sys.stdout.write()没有加 ,不会换行,而 又会回到行首,后面的输出覆盖前面的输出。



以上是关于python中print(obj) 与sys.stdout.write()的区别的主要内容,如果未能解决你的问题,请参考以下文章

python重定向原理及实例

面向对象之isinstance与issubclass(python内置方法)

Python 面向对象 组合-多态与多态性-封装-property

Python 标准输出 sys.stdout 重定向

Python的内存管理 小理解

Python基础总结