Search code examples
pythonfilefilenamescommand-line-arguments

Automatically open files given as command line arguments in Python


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?


Solution

  • 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.