【发布时间】:2011-02-01 18:49:00
【问题描述】:
我有很多类似于以下内容的 Perl 脚本。它的作用是它会自动打开作为命令行参数给出的任何文件,并在这种情况下打印该文件的内容。如果没有给出文件,它将改为从标准输入中读取。
while ( <> ) {
print $_;
}
有没有办法在 Python 中做类似的事情而不必显式打开每个文件?
【问题讨论】:
标签: python file filenames command-line-arguments
我有很多类似于以下内容的 Perl 脚本。它的作用是它会自动打开作为命令行参数给出的任何文件,并在这种情况下打印该文件的内容。如果没有给出文件,它将改为从标准输入中读取。
while ( <> ) {
print $_;
}
有没有办法在 Python 中做类似的事情而不必显式打开每个文件?
【问题讨论】:
标签: python file filenames command-line-arguments
Python 标准库中的fileinput 模块正是为此目的而设计的,我从刚才给出的 URL 中引用了一些代码:
import fileinput
for line in fileinput.input():
process(line)
使用print 代替process,您将拥有与您的Perl 代码完全相同的等价物。
【讨论】: