CodeGym /コース /Python SELF JA /データをファイルに書き込む

データをファイルに書き込む

Python SELF JA
レベル 21 , レッスン 2
使用可能

3.1 ファイルの作成

ファイルは書き込みモード ('w') や追記モード ('a') で開くと自動的に作成されるよ。ファイルが既に存在する場合、'w' モードはその内容を上書きし、'a' モードはデータをファイルの末尾に追加する。

ファイル作成の例


file = open('example.txt', 'w')  # ファイルを書き込み用に開く。存在しない場合は作成される
file.write("This is a new file.\n")
file.close()
        

この例では、もし存在しなければファイル example.txt が作成され、文字列 "This is a new file.\n" が書き込まれる。

完全に空のファイルを作成することもできるよ。単にそれを書き込み用に開いてからすぐに閉じるだけ。

空のファイルを作成する例


file = open('example.txt', 'w')  
file.close()
        

書き込み用に既存のファイルを開くと、その内容はすべて削除されるので注意してね。

3.2 ファイルにデータを書く

データをファイルに書き込むには、write()writelines() という2つの人気のあるメソッドがあるよ。

メソッド write()

write() メソッドは文字列をファイルに書き込む。ファイルが書き込みモード ('w') で開かれている場合、新しいデータが書き込まれる前にその内容が削除されるよ。追記モード ('a') で開かれている場合、新しいデータはファイルの末尾に追加される。

write() の使用例:


# 書き込みモードでファイルを開く
file = open('example.txt', 'w')
file.write("Hello, World!\n")
file.write("This is a test file.\n")
file.close()
        

メソッド writelines()

writelines() メソッドは文字列のリストを受け取り、それらをファイルに書き込む。改行コードは自動的に追加されないので、自分で含める必要があるよ。

writelines() の使用例:


lines = ["First line.\n", "Second line.\n", "Third line.\n"]

# 書き込みモードでファイルを開く
file = open('example.txt', 'w')
file.writelines(lines)
file.close()
        

ファイルのエンコーディング

テキストファイルを読み書きする際にエンコーディングを指定できるよ。これは encoding という名前付きパラメータを使って行われる。

例:


# UTF-8 エンコーディングでファイルを書き込み用に開く
file = open('example_utf8.txt', 'w', encoding='utf-8')  
file.write("ロシア語のテキスト。\n")
file.write("More text in UTF-8.\n")
file.close()
        

ファイルやテキストのさまざまなエンコーディングについては後で詳しく説明するけど、このパラメータが存在することを知っておくと、いろいろな問題を避けられるよ。

3.3 ファイルにデータを追加する

ファイルの末尾にデータを追加するのは、ファイルにデータを書き込むのと同じくらい簡単だよ。ファイルを開く時に追記モード ('a') を指定するだけですべてが自動的に行われる。

以下はいくつかの例だよ:

ファイルの末尾に行を追加する

この例は、追記モード ('a') でファイルを開き、いくつかの行をその末尾に追加する方法を示しているよ。


file = open('example.txt', 'a')  # データ追加用にファイルを開く
file.write("This is a new line added to the file.\n")
file.write("Another line is appended.\n")
file.close()  # ファイルを閉じる
        

ファイルの末尾に文字列のリストを追加する

この例は、writelines() メソッドを使ってファイルの末尾に文字列のリストを追加する方法を示しているよ。


lines = [
    "Appending first line from list.\n",
    "Appending second line from list.\n",
    "Appending third line from list.\n"
]
        
file = open('example.txt', 'a')  # データ追加用にファイルを開く
file.writelines(lines)  # 文字列のリストを追加する
file.close()  # ファイルを閉じる
        

エンコーディングを指定して文字列を追加する

この例は、エンコーディング(例えば、UTF-8)を指定して追記モードでファイルを開き、文字列を追加する方法を示しているよ。


# エンコーディングを指定してデータを追加するためにファイルを開く
file = open('example_utf8.txt', 'a', encoding='utf-8')  
file.write("UTF-8を使用して文字列を追加。\n")
file.write("もう一つの文字列が追加されました。\n")
file.close()  # ファイルを閉じる
        

見てのとおり、とっても簡単でしょ。

コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION