Pythonにおけるwritelines()の利用方法を現役エンジニアが解説【初心者向け】

初心者向けにPythonにおけるwritelines()の利用方法について現役エンジニアが解説しています。writelinesメソッドはPythonでファイルに書き込む時に使う関数です。引数にはモードとして、新規作成や追記を指定し、encodingにはutf_8を指定します。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

Pythonにおけるwritelines()の利用方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。

 

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Python講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonにおけるwritelines()の利用方法について詳しく説明していくね!

大石ゆかり

お願いします!

 
この記事ではpythonにおけるwritelines()を利用してファイルに書き込む方法について解説しています。
 

writelines()とは?

Pythonを使ってファイルに書き込みを行いたい時、Pythonにはwrite関数とwritelines関数があります。

共にファイルに文字を書き込む関数ですが違いは関数に渡す引数です。write関数は文字列を引数として渡し、その文字列を書き込みます。対してwritelines関数は配列を引数として渡し、その配列の要素をファイルに書き込みます。
 

writelines()の使い方

writelines関数は以下の形式で使用できます。

ファイルオブジェクト.writelines(書き込む文字列が格納された配列)

ファイルオブジェクトとは書き込むファイルをPythonから開く際に作られるオブジェクトです。以下の形式で作成できます。

ファイルオブジェクト = open(ファイル名, "モード", encoding = "文字コード")

モードは3種類あります。

  • “w”:新規作成(既に同名のファイルが存在すれば上書き)
  • “x”:新規作成(既に同名のファイルが存在すればエラー)
  • “a”:追記(既に同名のファイルが存在すれば末尾に追記)

encodingには文字コードを指定します。特別な理由が無ければ「utf_8」を指定しましょう。

このオブジェクトを使うことでwritelines関数を使用できるようになります。
 

[PR] Pythonで挫折しない学習方法を動画で公開中

writelines()を利用してファイル書き込みを実行してみよう

実際にwritelines関数を使ったプログラムを作成してみましょう
 

プログラムソースコード

file = open("fruits.txt", "w", encoding = "utf_8")
text = [
    "メロン\n",
    "イチゴ\n",
    "みかん\n",
    "スイカ\n",
    "ぶどう\n"
]
file.writelines(text)
file.close()

 

実行結果

メロン
イチゴ
みかん
スイカ
ぶどう

配列の内容がファイルに書き込まれました。ファイルは実行したPythonファイルと同じフォルダに作成されます。

writelines関数を使っても改行コードを書かない限り改行されずに書き込まれます。書き込みが終わったら作成したファイルオブジェクトはclose関数を使ってファイルを閉じる必要があります。

 

監修してくれたメンター

メンターSさん

システムエンジニアとしてこれまで行政システムや医療用システムの保守、開発に携わりました。

JavaやPython、PHP、Kotlinなど様々な言語での開発経験があります。
TechAcademyではJavaコース、Pythonコース、AIコースなど7コースを担当しています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。