Pythonの-IO流

IPストリームとは何ですか?

入力と出力であるコンピュータの入力/出力、中にIO中指。実行時のプログラムのために人気の、およびデータは、これはそれがなどのデータ交換、通常ディスク、ネットワーク、になるCPUコア超高速計算によって実行され、メモリに常駐し、我々は、IOインタフェースを必要としています。

たとえば、ブラウザ、訪問シーナのホームページを開き、ブラウザはネットワークシーナページIOの上にこのプログラムを取得する必要があります。まず、ブラウザがHTMLにそれを伝え、サーバーシーナにデータを送信します、このアクションは、私がオーバー送信するシーナウェブサーバーに続くデータと呼ばれる出力を、送信したい家の出で、このアクションは、入力と呼ばれる外部からのデータを受信することです。そのため、通常は、操作手順が完了しているIOの入力と出力は、2つのデータストリームを持っています。もちろん、一つだけの場合は、例えば、メモリにディスクからファイルを読み取るだけの入力操作は、順番に、単に出力操作、ディスクファイルにデータを書き込むことがあります。

IOのプログラミングは、ストリーム(ストリーム)は非常に重要な概念である、水に水道管はデータですが、唯一の一方向の流れ、水道管の流れと考えることができます。入力ストリームデータフローがメモリ(ディスク、ネットワーク)への外部からのものである、出力ストリームのデータフローがメモリに外部からです。Webブラウジング、少なくともビルドにブラウザとシーナの必要性との間にサーバー2本のパイプの場合、それは両方の送信データができますが、また、収集データへ。

CPUとメモリはるかに速いスピード周辺機器よりも、そのIOプログラミングので、スピードと一致していない重大な問題があります。ディスクに書き込む必要があり、CPU 100M出力データがデータを受信するためにわずか0.01秒を必要としますが、この100Mのディスク、データの100Mとして、例えば、取るそれを行う方法を、10秒かかることがありますか?2つの方法があります。

第1のCPUは、プログラムがその後のコード、および10秒のディスク100Mに書き込まれた他のデータを懸濁させ、待って、その後、ダウン次いで行わ、このモードでは、IO同期と呼ばれます。

別のアプローチは、ディスクがちょうど言われ、CPUを待たないことです「ではない心配を行い、ゆっくりとあなたの古い書き込み、私は、他のことをやるようになった」とし、その後のコードは、その後すぐに、このモードは、非同期IOと呼ばれて実行することができます。

同期および非同期IOとの間の差は、実行の結果を待つかどうかです。あなたがマクドナルドの食事に行くように、あなたが言う「ハンバーガーに、」ウェイターはごめんなさい、あなたに言った、ハンブルクは、あなたがレジの前に立って、5分を待つために、今行うには買い物に行くためにハンバーガーを取得するために5分を待っていましたこれは、同期IOです。

あなたはとてもよく買い物に行く、とすることができ、ハンブルクの必要性が5分を待つように「ハンバーガーに」ウェイターがあなたに言った、と言う、我々はあなたが、一度それ以外の場合は(モール)を行うことができるように知ってもらおうました非同期IO。

もちろん、書き込みプログラムに対して非同期IOを使用すると、同期IO性能よりもはるかに高いですが、欠点は、非同期IOは、モデルの複雑さをプログラミングすることです。「よくハンブルク」、あなたが知っているようにするとき知っている必要があり、それについて考え、あなたのアプローチも異なる気づきます。ウェイターがあなたを見つけるために実行した場合は、ウェイターの送信テキストメッセージは、あなたは常にポーリングモードで携帯電話を、チェックする必要があることを通知する場合、これは、補正モードです。要するに、複雑さは、同期、非同期IO IOよりもはるかに高いです。

IO機能動作は言語のプログラミング、オペレーティングシステムによって提供される、使いやすいカプセル化するために低いCインターフェースを置く各オペレーティング・システムは、Pythonは例外ではありません。我々は詳細にIOインタフェースPythonプログラミングを議論するように。

OPEN機能

パイソンとの最初は組み込みのopen()関数で、ファイルを開くことが読み書きに呼び出すことができるファイルオブジェクトに関連するメソッドを作成します。

構文:

ファイルオブジェクト=オープン(FILE_NAME【、ACCESS_MODE] [、バッファリング])

FILE_NAME:file_nameに変数を使用すると、アクセスしたいファイルの名前を含む文字列値です。
ACCESS_MODE:読み取り、書き込み、および追加:ACCESS_MODEは、ファイルモードを開くことを決めました。次のようにすべての可能な値の完全なリストを参照してください。このパラメータは、デフォルトのファイルは読み取り専用アクセスモード®で、必須ではありません。
バッファリング:バッファリングの値が0に設定されている場合は、ストレージが存在します。バッファリングの値が1を取る場合は、行がファイルにアクセスするために登録します。値は、この記憶領域のバッファサイズであることを示し、バッファリングの1以上の整数大きい場合。負の場合は、システムのデフォルトの駐車ゾーンのバッファサイズ。

Fileオブジェクトのプロパティ

ファイルが開かれた後、あなたは、ファイルに関するさまざまな情報を得ることができ、ファイルオブジェクトを持っています。

以下はに関連するすべてのプロパティとファイルオブジェクトのリストです:

ファイルがクローズされている場合はそうでない場合はfalse、file.closed trueを返します。
開いているファイル・アクセス・パターンにfile.modeリターン。
file.nameは、ファイルの名前を返します。
使用される印刷出力file.softspaceは、空白文字が続かなければならない場合は、falseを返します。それ以外の場合は、trueを返します。

close()メソッド

近くFileオブジェクト()の情報を更新する方法は、彼らはもはや書き込むことができた後、任意のバッファを書かないと、ファイルを閉じていません。

ファイルオブジェクト参照が別のファイルに再割り当てされた場合、Pythonは前にファイルを閉じます。閉じるclose()メソッドを持つファイルは、良い習慣です。

write()メソッド

write()メソッドは文字列が開いているファイルのいずれであってもよい書き込みます。Pythonの文字列ではなく単なるテキストよりもバイナリデータであることができる、ということに注意することが重要です。

write()メソッドは文字列の最後に改行文字(「\ nは」)を追加しません。

()メソッドを読んで

読んで()メソッドは、開いているファイルから文字列を読み込みます。Pythonの文字列ではなく単なるテキストよりもバイナリデータであることができる、ということに注意することが重要です。

公開された16元の記事 ウォンの賞賛0 ビュー275

おすすめ

転載: blog.csdn.net/JOKERSNEAKER/article/details/105282128