ファイルアクセスモード:
open()メソッドではさまざまなタイプのファイルアクセスモードを使用できることを前述しました。これらについては、このパートで説明します。一般的に使用されるモードを以下に示します。
モード | 目的 |
NS | これはテキストファイルを示し、デフォルトのファイルタイプです。 |
NS | バイナリファイルを示します。 |
NS | 読み取り用にファイルを開き、任意のファイルを開くためのデフォルトモードです。 |
の | 書き込み用にファイルを開きます。 |
NS | 存在しない場合は、書き込み用にファイルを開きます。 |
に | ファイルが存在する場合はファイルの最後にコンテンツを追加するためにファイルを開きます。存在しない場合は、ファイルを作成して最初にコンテンツを追加します。 |
r + | 読み取りと書き込みのためにファイルを開き、ファイルの先頭にカーソルを置きます。ファイルが存在しない場合はエラーが発生します。 |
+で | 読み取りと書き込みのためにファイルを開き、ファイルがすでに存在する場合はデータを上書きします。 |
+ | 読み取りと書き込みのためにファイルを開き、既存のファイルのファイルの最後にカーソルを置きます。ファイルが存在しない場合は作成します。 |
方法:
Pythonには、ファイルを読み書きするための多くのメソッドが存在します。ここでは、最も一般的に使用される方法について説明します。
開いた():
このメソッドには2つの引数が含まれています。最初の引数は必須であり、読み取りまたは書き込み用のファイル名を取得するために使用されます。 2番目の引数はオプションであり、ファイルアクセスモードを設定するために使用されます。デフォルトのファイルアクセスモードは 「rt」 。このメソッドの戻り型は、ファイルの読み取りと書き込みに使用されるファイルオブジェクトです。
構文:
FileObject = open(Filename、FileMode)
選ぶ():
このメソッドは、ファイルを閉じて別の目的で使用できるようにするために使用されます。このメソッドを呼び出すと、ファイルハンドラオブジェクトは使用できなくなります。
読んだ():このメソッドは、ファイルオブジェクトを使用してファイルから特定のバイト数を読み取るために使用されます。
読み込まれた行():
このメソッドは、ファイルオブジェクトを使用してファイルから特定の行を読み取るために使用されます。
readlines():このメソッドは、ファイルオブジェクトを使用して、コンマ(、)で区切られたファイルのすべての行を読み取るために使用されます。
書きます():このメソッドは、ファイルオブジェクトを使用してコンテンツをファイルに書き込むために使用されます。
テキストファイルの読み取り:
‘という名前のテキストファイルを作成します countryList.txt ’ 記事の次の部分で使用するために、次のコンテンツを使用します。
アルジェリアバハマ
ベルギー
キューバ
フィンランド
例1:read()、readline()、readlines()を使用したファイルの読み取り
名前の付いたファイルを作成します read1.py 次のPythonスクリプトを使用します。を使用してバイトサイズに基づいてファイルを読み取ります 読んだ() 、を使用してファイルから固定文字数を読み取ります 読み込まれた行() を使用して配列内のファイルのすべての行を読み取ります readlines()。
#読み取り用にファイルを開くFileHandler= 開いた(('countryList.txt'、'NS')。
#サイズに基づいてファイルの内容を読み取る
印刷(('read()メソッドからの出力NS'、FileHandler。読んだ((2048)。)。
#ファイルを閉じる
FileHandler。選ぶ(()。
#読み取りおよび書き込み用にファイルを開く
FileHandler= 開いた(('countryList.txt'、'r +')。
#3行目のファイル内容を読み取る
印刷(('readline()メソッドからの出力NS'、FileHandler。読み込まれた行((5)。)。
#ファイルを閉じる
FileHandler。選ぶ(()。
#読み取りと追加のためにファイルを開く
FileHandler= 開いた(('countryList.txt'、'NS')。
#ファイルのすべてのコンテンツを読み取る
印刷(('readlines()メソッドからの出力NS'、FileHandler。リードライン(()。)。
#ファイルを閉じる
FileHandler。選ぶ(()。
出力:
スクリプトの実行後、次の出力が表示されます。
例2:ループを使用してファイルを1行ずつ読み取る
名前の付いたファイルを作成します read2.py 次のスクリプトを使用します。からファイルの各行を読み取って印刷します fileObject forループを使用します。
#読み取り用にファイルを開くfileObject= 開いた(('countryList.txt'、 'NS')。
#ファイルを1行ずつ読み取り、ターミナルで印刷します
にとってラインのfileObject:
印刷((ライン)。
出力:
スクリプトの実行後、次の出力が表示されます。
例3:ステートメントとともに使用してファイルを読み取る
次のスクリプトを使用して、read3.pyという名前のファイルを作成します。ステートメントを使用して、ファイルオブジェクトなしでファイルを読み取ります。
#ステートメントで使用してファイルを読み取ると 開いた(('countryList.txt')。 なのでfhandler:
印刷((fhandler。リードライン(()。)。
出力:
スクリプトの実行後、次の出力が表示されます。
テキストファイルの書き込み:
ファイルオブジェクトを定義するか、を使用して、コンテンツをファイルに書き込むことができます。 と ステートメント。
例4:ファイルオブジェクトを使用したファイルへの書き込み
次のスクリプトを使用して、write1.pyという名前のファイルを作成します。書き込み用のテキストファイルを開き、を使用して3行を書き込みます 書きます() 方法。
#書き込み用にファイルを開くfileObject= 開いた(('newfile.txt'、 'の')。
#テキストを追加
fileObject。書きます(('最初の行のテキストNS')。
fileObject。書きます(('2行目のテキストNS')。
fileObject。書きます(('3行目のテキストNS')。
#ファイルを閉じる
fileObject。選ぶ(()。
出力:
スクリプトを実行し、ファイルがコンテンツで作成されているかどうかを確認します。スクリプトを実行して「cat」コマンドを実行すると、次の出力が表示されます。
例5:withステートメントを使用してファイルに書き込む
ファイルオブジェクトを定義せずに、コンテンツをファイルに書き込むことができます。名前の付いたファイルを作成します write2.py 次のスクリプトを使用します。 withステートメントを使用してファイルに2行を書き込みます。
#withステートメントを使用して書き込むためにファイルを開くと 開いた(('myfile.txt'、'の')。 なのでfileObj:
fileObj。書きます(('最初の行NS')。
fileObj。書きます(('二行目NS')。
出力:
スクリプトと「cat」コマンドを実行してファイルを読み取ると、次の出力が表示されます。
結論:
このチュートリアルでは、Pythonでファイルからコンテンツを読み取り、ファイルにコンテンツを書き込むために最もよく使用されるメソッドについて、非常に簡単な例を使用して説明します。新しいPythonユーザーは、files.chの読み取りまたは書き込みに必要な関数の使用法を知ることができます。
著者のビデオを見る: ここ