Home >Backend Development >Python Tutorial >How Can I Redirect Python's Standard Output (stdout) to a File?

How Can I Redirect Python's Standard Output (stdout) to a File?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-05 07:36:40731browse

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn