プログラムで物事を印刷するとき、それはsys.stdoutパイプラインに物事を詰め込むことと同等です
PS: print = sys.stdout .write
では、sysは何に使用されますか?
sysモジュールは、Python自体の実行環境を管理するために使用されます。Pythonは、オペレーティングシステムで実行されるインタープリターおよびプログラムであるため、sysパッケージを使用して、メモリ、ファイルサイズなど、実行中のPythonのパラメーターを管理できます。
もう一つの重要な機能は、自分自身と相互作用することです
不注意でよく使用するsysパッケージコマンドをいくつか示します。
stdout/stderr/stdin
stdin、stdout、およびstderr変数には、標準のI / Oストリームに対応するストリームオブジェクトが含まれています。これらは、すべてのUNIXシステムに組み込まれているパイプです。
印刷を印刷するときは、パイプに印刷するデータをstdoutに詰め込みます。stderrは、stdoutと同じエラーメッセージの印刷です。
import sys
print(11111111)
__ console = sys.stdout #後で復元するため
# リダイレクトファイルを印刷する
f=open('outfile.log',"a+")
sys.stdout=f
print('in outfile')
結果
前の印刷,画面に印刷されます
11111111
次の印刷,出力ファイルに出力されます.ログ,画面に印刷されません
後で復元する場合は、パイプラインを元のパイプラインに変更するだけです。
sys.stdout = __console
この時点で再度印刷すると、画面に印刷されます。
import sys
name=sys.stdin.readline()print(name)
ここで、Pythonインタープリターがコードの2行目まで実行されると、システムはそこで停止し、ユーザーがデータを入力するのを待ち、次の行を実行する前にEnterをクリックします。
print(name)は、入力した内容を印刷するためのものです
Recommended Posts