在Python中自动打开作为命令行参数传递的文件

1 投票
2 回答
1565 浏览
提问于 2025-04-15 20:57

我有很多Perl脚本,长得像下面这样。这个脚本的作用是自动打开作为命令行参数传入的任何文件,然后在这个例子中,它会打印出那个文件的内容。如果没有提供文件,它就会从标准输入读取内容。

while ( <> ) {
    print $_;
}

请问有没有办法在Python中做类似的事情,而不需要每次都手动打开每个文件呢?

2 个回答

0

你可以看看 sys.argv 这个东西。它可能会对你有帮助。

10

Python的标准库里有一个叫做 fileinput 的模块,专门用来处理这个问题。我从刚才提到的链接里引用了一段代码:

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

如果把 process 换成 print,那么这段代码就和你的Perl代码完全一样了。

撰写回答