[英]What is the difference between sys.stdin.read() and sys.stdin.readline()
[英]What is the difference between os.read() and sys.stdin.read() in Python3
在下面给出的链接中,答案表明os.read()
/ os.write()
和sys.stdin.read()
/ sys.stdout.write()
均可用于快速I / O。 但是我没有找到关于两者中哪一个更快的任何解释,或者在任何特定情况下一个人的表现要好于其他。
有人可以解释一下这些方法之间的区别吗?
您应该进行检查,但是sys.stdin
和sys.stdout
是io.TextIOWrapper
对象, io.TextIOWrapper
对象至少包括将传入数据解码为unicode以及将传出数据编码为为输出流配置的任何编码的附加功能。
在此基础上,应该是os.read()/os.write()
会更快的情况,因为如果您正在处理面向字节的数据(例如ascii文本os.read()/os.write()
,这些是仅处理字节而与编码无关的较低级函数,二进制等。
如果要分析os
函数,则还应考虑到时间(如果应用程序需要)分别对数据进行编码和解码。 您可能会发现,在两个单独的步骤中执行编码和I / O将比sys
方法慢。
Python 3中的其他一些区别是os
函数接受/返回bytes
对象,而sys
对象处理str
对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.