タグ

ブックマーク / blog.bonprosoft.com (1)

  • Python 2系と3系のsys.stdinの違い

    import sys for x in sys.stdin: sys.stdout.write('stdin: {}'.format(x)) sys.stdout.flush() これをPython 2.7と3.6でそれぞれ実行してみると、それぞれ次のような結果になります。 Python 2.7での実行結果hoge fuga ^D stdin: hoge stdin: fuga Python 3.6での実行結果hoge stdin: hoge fuga stdin: fuga ^D hogeやfugaは入力で、^DはCtrl+Dを入力してEOFを送っていることを意味しています。 結果を見ると2系と3系の違いは明らかで、3系は1行ずつ処理されているにも関わらず、2系ではEOFが送られるまで(正確には一定の大きさのバッファがいっぱいになるまで)処理が始まりません。 インタラクティブなプログラム

    agw
    agw 2018/08/29
  • 1