Pythonでファイルを読み書きする方法

おすすめの本:「PythonUniversityPracticalCourse」

初心者に最適


この記事では、Pythonを使用してファイルを読み取り、そのファイルにコンテンツを書き込んで再度保存する方法を学習します。 Pythonを使用して、JSON、CSV、Excelなどの特定のタイプのファイルを読み書きするには、通常、専用のモジュールがあります。ただし、ここでは、Pythonでテキストファイル(.txt)を開きます。

Pythonの open関数を使用すると、いくつかのメソッドと属性を含むファイルオブジェクトが返されます。これらのメソッドとプロパティを使用して、開いているファイルに関する情報を取得できます。また、これらのメソッドを使用して、開いているファイルを変更できます。

open()を使用してファイルを読み取ります

このセクションでは、 open()関数を使用してPythonでファイルをロードする方法を学習します。最も簡単な例は、ファイルを開いてファイルオブジェクトを作成することです。

Pythonの open()関数を使用してファイルを開く場合、いくつかのパラメーターを使用できます。ただし、最も一般的に使用されるパラメータは最初の2つだけです。最初のものは必須であり、残りはオプションであることに注意してください。 modeパラメータを追加しない場合、ファイルはPythonで読み取り専用モードで開かれます。

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

modeパラメータ

ファイルの読み取りにはさまざまなモードがあります。前述のように、 modeパラメータが含まれていない場合、ファイルは読み取り専用として開かれます。以下に示すように、一般的に使用されるいくつかのオープンモードが一覧表示されます。

その中で、 mode = 'r'は読み取り専用を意味し、 mode =' w'は書き込み専用を意味し、 mode = 'a'は追加を意味します。 mode = 'r +'は読み取りと書き込みが可能であることを意味しますが、ファイルが存在する必要があります。存在しない場合、エラーが報告されます。

簡単な例

次のコード例では、 open()を使用してファイルを開きます。ファイルとPythonスクリプトが同じディレクトリにあると想定されます。そうでない場合は、パスを追加する必要があります。

exfile =open('example_file')print(exfile)

上の図では、ファイルオブジェクトが読み取り専用モードで開かれていることは明らかであり、 open()にはファイル名以外のパラメータはありません。したがって、ファイルには何も書き込むことができません。ファイル名を出力する場合は、「print(exfile.name)」と入力するだけです。

テキストファイルを作成してコンテンツを書き込む

次に、 open()を使用して新しいファイルを作成します。ここで、 mode = 'w'パラメーターを使用して、ファイルオブジェクトを開き、「ファイルオブジェクトの書き込み」メソッドを使用できるようにします。

exfile =open('example_file2','w')print(exfile)

上の図では、現在のファイルオブジェクトを書き込みモード(「w」)にすることができます。次のコードブロックでは、このファイルに1行のテキストを追加します。

exfile.write('This is example file 2 \n')

もちろん、さらに行を追加することもできます。

exfile.write('Line number 2, in example file 2')
exfile.close()

最後の行のファイルを閉じるには、 close()を使用する必要があることに注意してください。下の画像では、Pythonで作成されたサンプルファイルを見ることができます。

open()を使用してPythonでテキストファイルを読み取る方法

Pythonでファイルを読み取る次の例では、Pythonでテキストファイル(.txt)を開く方法を学習します。もちろん、これは非常に簡単です。基本的に、この目的を達成するためにPythonを使用する方法を習得しました。つまり、Pythonで.txtファイルのみを読み取りたい場合は、open関数と読み取りモードを使用できます。

txtfile =open('example_file.txt')

read()の例

この操作は非常に簡単です。ここで、テキストファイルの内容を印刷する場合、3つの方法があります。 1つ目は、ファイルオブジェクトの read()メソッドを使用して、ファイルの内容全体を読み取ることです。つまり、 txtfile.read()を使用すると、次の出力が得られます。

2つ目は、 readlines()を使用してファイルをリストに読み込むことです。

txtfile =open('example_file.txt')print(txtfile.readlines())

この方法では、特定の行が読み取られることを示すパラメーターを指定することもできます。たとえば、次のコードは最初の2行を読み取り、出力します。

txtfile =open('example_file.txt')
line = txtfile.readlines(1)print(line)

line2 = txtfile.readlines(2)print(line2)

最後の方法は、ファイルの内容をループを介して1行ずつ出力することです。

txtfile =open('example_file.txt')for line in txtfile:print(line)

ファイルの内容を書き込む

この例では、 .txtファイルを開き、追加してコンテンツを追加するため、 'a'モードで開く必要があります。

open('example_file2.txt','a')

次に、 write()を使用してコンテンツを追加します。

txtfile.write('\n More text here.')

テキストを追加する場合、少なくともWindows 10では、行の前に \ nを追加する必要があります。それ以外の場合は、最後の文字の後に(ファイルの最後の行に)新しい行が追加されます。さらに行を追加する場合は、これも忘れずに行う必要があります。

txtfile.write(‘\nLast line of text, I promise.)
txtfile.close()

テキストエディタ(メモ帳、Geditなど)でテキストファイルを開くと、最後の2行が追加されているのがわかります。

withステートメントを使用します

withステートメントを使用してファイルを開くことは非常に良い習慣であるため、ファイルを閉じることを覚えておく必要はありません。withステートメントを使用する構文は明確で読みやすいです。

withopen('example_file2.txt')as txtfile2:print(txtfile2.read())

ここで、 read()メソッドを使用すると、PythonはValueErrorをスローします。

txtfile2.read()

単語のセグメンテーションと統計

ファイルを読み取った後、文字列の split()メソッドを使用してテキストファイル内の文を単語に分割し、コレクションモジュールの Counterクラスを使用して開いているファイル内の単語数をカウントできます。

from collections import Counter

withopen('example_file2.txt')as txtfile2:
 wordcount =Counter(txtfile2.read().split())print(len(wordcount))
# Output:43

これで、 Counterクラスは、すべての単語と各単語の出現回数を含む辞書を返します。したがって、次のようにすべての単語と単語の総数を印刷できます。

for k insorted(wordcount, key=wordcount.get, reverse=True):print(k, wordcount[k])

上記のコード例では、辞書のキーをループして並べ替えます。このようにして、最も一般的な単語が一番上にランク付けされます。もちろん、Pythonを使用して複数の単語を含むファイルを読み取り、このように結果を出力する場合、この操作は実行できません。

上記では、さまざまなモードでファイルを読み取る方法、ファイルを作成および書き込む方法、ファイルにデータを追加する方法、およびwithステートメントを使用してファイルを読み取る方法について説明しました。

Recommended Posts

Pythonでファイルを読み書きする方法
pythonでファイルとディレクトリを削除する方法
Pythonオープン読み取りおよび書き込み
Pythonファイルの読み取りおよび書き込み操作
python設定ファイルの書き方
pythonでクラスを書く方法
PythonでExcelを読む方法
pythonでreturnを書く方法
Pythonで地球を作る方法
およびおよびまたはPythonでの使用方法
pythonでキャッシュファイルを削除する方法
pythonでテキストファイルを保存する方法
pythonでtryステートメントを書く方法
pythonでexcelテーブルを処理する方法
Pythonをすばやく開始する方法
PythonでWebページをPDFに変換する方法
UbuntuでPython3を楽しくプレイする方法
pythonでゲームを書く方法を教えてください
Python空の列を持つ行を削除する方法
Pythonメモリマップファイルの読み取りおよび書き込みメソッド
告白プログラムをpythonで書く方法
pythonファイルの読み取りエラーに対処する方法
Pythonはどのようにデータをjsonファイルに保存しますか
DebianおよびUbuntuでDebファイルを再パッケージ化する方法
pythonコードにコメントする方法
Pythonicコードの書き方
pythonをすばやく学ぶ方法
pythonプラグインをアンインストールする方法
Pythonファイルを暗号化する3つの方法
pythonオブジェクトを理解する方法
パイソンタプルの使い方
pythonウェブページコードの表示方法
pythonスレッドプールの使用方法
pythonftpアップロードファイルとフォルダー
C ++を使用してPython3拡張機能を作成する
pythonコードでラップする方法
pythonプログラムを保存する方法
Pythonで括弧を省略する方法
CentOS8にPython3.8をインストールする方法
Ubuntu18.04にPython3.8をインストールする方法
pythonで数値をフィルタリングする方法
Centos6.7には、へのpythonアップグレードが付属しています
CentOS8にPythonをインストールする方法
python dict garbledを解決する方法
pythonでエラーを表示する方法
株で遊んでPythonを学んだ
Pythonはどのようにxmlファイルを生成しますか
Pythonはjsonファイルを読み書きします
pythonモジュールを表示する方法
Pythonで変数を理解する方法
pythonで変数をクリアする方法
pythonオブジェクト指向プログラミングを理解する方法
PythonでSQLiteを使用する方法
ubuntu構成python、赤
Python3の構成とentry.md
python設定ファイルの書き方
Pythonでサードパーティモジュールを導入する方法
pythonでnull値を表す方法
Pythonのトリックとトリック-更新を続けます...
PYTHONを使用してニュース記事をクロールする方法
python-2入門:関数と辞書
pythonでid関数を実行する方法
Pythonでサードパーティモジュールをインストールする方法