19

私は通常Perlでこれを行います:

なんでも.pl

while(<>) {
    #do whatever;
}

それからcat foo.txt | whatever.pl

今、私はPythonでこれをやりたいです。試してみsys.stdinましたが、Perl で行ったように行う方法がわかりません。入力を読み取るにはどうすればよいですか?

4

5 に答える 5

42

これを試して:

import fileinput
for line in fileinput.input():
    process(line)
于 2009-04-03T19:17:06.643 に答える
13
import sys
def main():
    for line in sys.stdin:
        print line
if __name__=='__main__':
    sys.exit(main())
于 2009-04-03T19:19:50.320 に答える
7

このようなもの:

import sys

for line in sys.stdin:
    # whatever
于 2009-04-03T19:20:25.137 に答える
4
import sys

for line in sys.stdin:
    # do stuff w/line
于 2009-04-03T19:20:46.247 に答える