[英]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.