簡體   English   中英

Python3中的os.read()和sys.stdin.read()有什么區別

[英]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。 但是我沒有找到關於兩者中哪一個更快的任何解釋,或者在任何特定情況下一個人的表現要好於其他。

有人可以解釋一下這些方法之間的區別嗎?

Python 3中最快的stdin / out IO?

您應該進行檢查,但是sys.stdinsys.stdoutio.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM