CPU とメモリの速度が周辺機器の速度よりもはるかに高いため、IO プログラミングには深刻な速度の不一致の問題が存在します。たとえば、100M のデータをディスクに書き込む場合、CPU が 100M のデータを出力するには 0.01 秒しかかかりませんが、ディスクが 100M のデータを受信するには 10 秒かかることがあります。 2 つの方法があります。 1 つは CPU が待機する方法です。つまり、プログラムは後続のコードの実行を一時停止し、10 秒後に 100M のデータがディスクに書き込まれるのを待ってから、実行を継続します。このモードは同期と呼ばれます。 IO; もう 1 つ この方法では、CPU は待機せず、ディスクに「いつも書き込みが遅いので心配しないで、他の処理を続けます」と伝えるだけで、後続のコードをすぐに実行できます。このモードを非同期 IO 同期と呼びます。違いは、IO の実行結果を待つかどうかです。 非同期の利点はプログラムのパフォーマンスが高いことですが、欠点はプログラミング モデルが複雑であることです。考えてみてください。「ハンバーガーの準備ができました」ということをいつ通知するかを知る必要があり、通知方法もさまざまです。ウェイターがあなたを見つけに来た場合、これはコールバック モードです。ウェイターがあなたに通知するテキスト メッセージを送信した場合、あなたは電話をチェックし続ける必要があります。これがポーリング モードです。つまり、非同期 IO の複雑さは同期 IO の複雑さよりもはるかに高いです。マクドナルドに行って食べ物を注文するとき、「ハンバーガーを食べてください」と言うと、ウェイターが「申し訳ありませんが、ハンバーガーは焼きたてにする必要があります」と言われるようなものです。 5 分待つ必要があるので、ハンバーガーを買う前に 5 分待ってからモールに行きました。これは同期 IO です。 「ハンバーガーを食べて」と言うと、ウェイターはハンバーガーができるまで 5 分待つ必要があると言います。準備ができたら、すぐに他のことをできるように通知します。モールへ)それは非同期IOです。 9.1 ファイルの読み取りと書き込み #!/usr/bin/pythonpoem = '''1.dog2.cat3.rabbit'''f=file('/tmp/poem','w')f.write(poem)f。 close () #出力ファイルの内容、メソッド 1 #f=open('/tmp/poem','r')#f.readlines() の行:# print(line.strip())#f.close( )
#ファイルの内容を出力する、メソッド 2 f=file('/tmp/poem')while True: line = f.readline() if len(line)==0: Break print(line.strip())f。 close () ファイルの書き込みはファイルの読み取りと同じです。唯一の違いは、open() 関数を呼び出すときに識別子 'w' または 'wb' を渡すことは、テキスト ファイルの書き込みまたはバイナリ ファイルの書き込みを意味することです。 ;> f = open('/Users/michael/test.txt', 'w')
>>> f.write('Hello, world!')
>>> () write() を繰り返し呼び出してファイルに書き込むことができますが、ファイルを閉じるには必ず f.close() を呼び出してください。ファイルを書き込むとき、オペレーティング システムは多くの場合、データをすぐにディスクに書き込まず、メモリにキャッシュし、空き時間にゆっくりと書き込みます。 close() メソッドが呼び出された場合にのみ、オペレーティング システムはすべての未書き込みデータがディスクに書き込まれることを保証します。 close() の呼び出しを忘れると、データの一部だけがディスクに書き込まれ、残りは失われる可能性があります。したがって、安全のために with ステートメントを使用することをお勧めします。 with open('/Users/michael/test.txt', 'w') as f:
f.write('Hello, world!')
close() の 2 つの部分 利点 1. 開いているファイルの数を閉じる 2. メモリ内のデータがハードディスクに書き込まれることを確認する f.flush() メモリを閉じずにメモリの内容をハードディスクに書き込むことができます。 file 概要 Python では、ファイルの読み取りと書き込みは open() によって行われます。この関数は、ファイル オブジェクトを開くことで完了します。ファイル IO を操作するには with ステートメントを使用することを習慣にしてください。
以上がPython の基本: ファイルの読み取りと書き込みの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。