自动打开Python中作为命令行参数提供的文件

foo*_*foo 1 python filenames file command-line-arguments

我有很多Perl脚本,看起来像下面这样.它的作用是它将自动打开作为命令行参数给出的任何文件,在这种情况下打印该文件的内容.如果没有给出文件,它将改为从标准输入读取.

while ( <> ) {
    print $_;
}
Run Code Online (Sandbox Code Playgroud)

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

Ale*_*lli 10

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

import fileinput
for line in fileinput.input():
    process(line)
Run Code Online (Sandbox Code Playgroud)

print代替使用,process你有完全相同的Perl代码.

  • @msw,我同意大卫 - 我在99月发现的Python,不到一年后,史蒂夫霍顿已经绰号我在comp.lang.python的"martellibot"我的答案丰富;-). (2认同)