问题
I have a lot of Perl scripts that looks something like the following. What it does is that it will automatically open any file given as a command line argument and in this case print the content of that file. If no file is given it will instead read from standard input.
while ( <> ) {
print $_;
}
Is there a way to do something similar in Python without having to explicitly open each file?
回答1:
The fileinput module in Python's standard library is designed exactly for this purpose, and I quote a bit of code from the URL I just gave:
import fileinput
for line in fileinput.input():
process(line)
Use print
in lieu of process
and you have the exact equivalent of your Perl code.
来源:https://stackoverflow.com/questions/2533673/automatically-open-files-given-as-command-line-arguments-in-python