Home >Backend Development >Python Tutorial >How Can I Redirect Python's Standard Output (stdout) to a File?
How to Redirect Stdout to a File in Python?
When executing a long-running Python script within an SSH session and backgrounding it, the script may fail due to an IOError when writing to stdout if the SSH session is closed. This issue can be addressed by redirecting stdout to a file instead.
Using Python's Stdout Redirection
One approach is to redirect stdout within the Python script using the sys module:
import sys with open('file.txt', 'w') as sys.stdout: print('Example text')
Using Shell Redirection
A simpler solution is to use shell redirection when executing the script:
$ python3 script.py > file.txt
This directs stdout output to the specified file. Note that this method is platform-agnostic (works on both Windows and Linux).
Limitations
Setting sys.stdout to a file may not prevent all modules from outputting to the terminal. In such cases, shell redirection is a more reliable solution.
The above is the detailed content of How Can I Redirect Python's Standard Output (stdout) to a File?. For more information, please follow other related articles on the PHP Chinese website!