Python で stdout 出力を文字列バッファにリダイレクトする
Python で ftplib を使用すると、一部の関数は文字列を返す代わりに情報を stdout に出力します。この出力を文字列変数で必要とする場合は、リダイレクトが必要です。
標準出力をメモリ内バッファにリダイレクトするには、次の解決策を検討してください。
from cStringIO import StringIO # Python 2 # or from io import StringIO # Python 3 import sys # Save the original stdout object old_stdout = sys.stdout # Create a new StringIO object to capture stdout output mystdout = StringIO() # Redirect stdout to the new StringIO object sys.stdout = mystdout # Execute code that generates stdout output # ... # Restore original stdout sys.stdout = old_stdout # Access the captured stdout output output = mystdout.getvalue()
このメソッドは StringIO を効果的にラップします。 stdout の周囲にバッファを配置し、実行後に出力を文字列としてキャプチャして操作できるようにします。
以上がPython の stdout 出力を文字列変数にリダイレクトするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。