当前位置:  开发笔记 > 编程语言 > 正文

如何迭代命令行上传递的所有文件行?

如何解决《如何迭代命令行上传递的所有文件行?》经验,为你挑选了3个好方法。

我通常在Perl中这样做:

whatever.pl

while(<>) {
    #do whatever;
}

然后 cat foo.txt | whatever.pl

现在,我想用Python做到这一点.我试过,sys.stdin但我不知道怎么做,就像我在Perl中所做的那样.我该如何阅读输入?



1> Don Werve..:

试试这个:

import fileinput
for line in fileinput.input():
    process(line)


+1这种方式比"for sys.stdin中的行"更灵活,因为它可以作为cmd行参数传递文件名.

2> Mark Roddy..:
import sys
def main():
    for line in sys.stdin:
        print line
if __name__=='__main__':
    sys.exit(main())


@ S.Lott:很清楚sys.exit如何处理None.

3> David Z..:

像这样的东西:

import sys

for line in sys.stdin:
    # whatever

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有