How do I read a text file in python via PowerShell? Windows 10


I’m having problems reading text files into my python programs.

I’m reading the file in through stdin but when I try to execute the program I’m getting this error.

Could someone tell me how to run these kinds of programs as it is essential for my course and I’d rather use Windows than Linux.


Since < for input redirection is not supported in PowerShell, use Get-Content in a pipeline instead:

Note: Adding the -Raw switch – which reads a file as a single, multi-line string – would speed things up in principle (at the expense of increased memory consumption), but PowerShell invariably appends a newline to data piped to external programs, as of PowerShell 7.2 (see this answer), so the target program will typically see an extra, empty line at the end. Get-Content‘s default behavior of line-by-line streaming avoids that.

Beware character-encoding issues:

  • Get-Content, in the absence of an -Encoding argument, assumes the following encoding:
    • Windows PowerShell (the built-into-Windows edition whose latest and final version is 5.1): the active ANSI code page, which is implied by the active legacy system locale (language for non-Unicode programs).
    • PowerShell (Core) 7+: (BOM-less) UTF-8
  • On passing the lines through the pipeline, they are (re-)encoded based on the encoding stored in the $OutputEncoding preference variable, which defaults to:
    • Windows PowerShell: ASCII(!)
    • PowerShell (Core) 7+: (BOM-less) UTF-8

As you can see, only PowerShell (Core) 7+ exhibits consistent behavior, though, unfortunately, as of PowerShell Core 7.2.0-preview.9, this doesn’t yet extend to capturing output from external programs, because the encoding that controls the interpretation of received data, stored in [Console]::OutputEncoding], still defaults to the system’s active OEM code page – see GitHub issue #7233.


How do I read a text file in python via PowerShell? Windows 10 by licensed under CC BY-SA | With most appropriate answer!

Leave a Reply