【问题标题】:Automatically open files given as command line arguments in Python在 Python 中自动打开作为命令行参数给出的文件
【发布时间】:2011-02-01 18:49:00
【问题描述】:

我有很多类似于以下内容的 Perl 脚本。它的作用是它会自动打开作为命令行参数给出的任何文件,并在这种情况下打印该文件的内容。如果没有给出文件,它将改为从标准输入中读取。

while ( <> ) {
    print $_;
}

有没有办法在 Python 中做类似的事情而不必显式打开每个文件?

【问题讨论】:

    标签: python file filenames command-line-arguments


    【解决方案1】:

    Python 标准库中的fileinput 模块正是为此目的而设计的,我从刚才给出的 URL 中引用了一些代码:

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

    使用print 代替process,您将拥有与您的Perl 代码完全相同的等价物。

    【讨论】:

    • 图书馆参考手册已经成为我数周来的血腥床头阅读。你有多年的 Python 经验,这太不公平了。 o.O(但我很欣赏答案)
    • @msw 实际上不需要几年时间。如果您只是浏览了足够多的时间,您就会感觉到里面有哪些内容适合您,哪些内容还没有——即使您实际上没有使用过相关的模块。当然,总会有惊喜(robotparser?哎呀!)。如果有的话,我预计要花费数年时间才能意外地做到这一点。 ;)
    • @msw,我同意 David 的观点——我在 99 年 12 月发现了 Python,不到一年后,由于我在 comp.lang 上的大量回答,Steve Holden 已经给我起了个绰号“martellibot”。 python;-).
    猜你喜欢
    • 2012-01-06
    • 2018-11-08
    • 2013-05-18
    • 2012-03-15
    • 1970-01-01
    • 2019-03-01
    • 2021-05-04
    • 2013-10-17
    • 2018-03-20
    相关资源
    最近更新 更多