簡體   English   中英

對於標准輸入,python cat(echo)等效

[英]python cat (echo) equivalent for stdin

我以為這個程序將逐行回顯我的控制台輸入:

import os, sys

for line in sys.stdin:
    print line

不幸的是,它等待EOF( Ctrl + D ),然后它產生輸出。 我應該如何修改我的程序以逐行獲取輸出?

Python 2.x:

for line in iter(sys.stdin.readline, ''):
    print line,

Python 3.x:

for line in iter(sys.stdin.readline, ''):
    print(line, end='')

請參閱有關iter()的文檔,其中包含兩個參數,它實際上是從這樣的文件中讀取的一個示例。

Python 2.x:

while True:
  sys.stdout.write(sys.stdin.readline())

Python 3.x:

while True:
  print(sys.stdin.readline(), end = "")

當您for line in file:語句中使用for line in file: ,Python會為您管理緩沖,這意味着您無法控制在循環開始執行之前將讀取多少行。 當你調用file.readline() ,它將從文件中讀取一行並執行一次循環。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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