ホームページ >バックエンド開発 >Python チュートリアル >Python の印刷出力をファイルにリダイレクトするにはどうすればよいですか?また、失敗する可能性があるのはなぜですか?

Python の印刷出力をファイルにリダイレクトするにはどうすればよいですか?また、失敗する可能性があるのはなぜですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-28 21:28:12388ブラウズ

How Can I Redirect Python's Print Output to a File and Why Might It Fail?

Python コードの出力リダイレクト

クエリは、Python を使用して print ステートメントを指定されたテキスト ファイルにリダイレクトすることに重点を置いています。 sys.stdout 手法を使用しているにもかかわらず、ターゲット ファイルは空のままです。この記事は、問題を調査し、代替解決策を提供することを目的としています。

出力にファイル オブジェクトを利用する

最も簡単なアプローチには、ファイル オブジェクトに直接書き込む方法があります。

with open('out.txt', 'w') as f:
    print('Filename:', filename, file=f)  # Python 3.x
    # print >> f, 'Filename:', filename   # Python 2.x

リダイレクト標準出力

または、次のコードを使用して stdout リダイレクトを実現できます。

import sys

orig_stdout = sys.stdout
f = open('out.txt', 'w')
sys.stdout = f

for i in range(2):
    print('i = ', i)

sys.stdout = orig_stdout
f.close()

Standard Library Context Manager の使用

Python の場合3.4 以降では、専用のコンテキスト マネージャーを使用してこれを簡素化できます。プロセス:

from contextlib import redirect_stdout

with open('out.txt', 'w') as f:
    with redirect_stdout(f):
        print('data')

外部出力リダイレクト

シェル経由で出力を外部にリダイレクトするもう 1 つの実行可能なオプション:

./script.py > out.txt

追加考慮事項

  • 確認glob.glob.
  • を使用して、指定されたパス内の bamfile の可用性を確認します。パスとファイル名を効率的に操作するには、os.path.join と os.path.basename を利用します。

以上がPython の印刷出力をファイルにリダイレクトするにはどうすればよいですか?また、失敗する可能性があるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。