こんにちは、しらすです。
12日目です。本日の習得スキルは「テキストファイルの内容を読み込み」です!
テキストファイルの内容を読み込みでできること
指定したパスにあるファイルの中身をテキスト形式で読み出し、変数に格納することができます。
使い方
#ファイル内のテキストを読み込む
with open("./000.log","r") as file: #ファイルを開く
result = file.read() #ファイルの中身を読み込む
結果
No.1と記載した000.logを読み込み、resultを表示すると、以下のように無事中身を取り出すことができました。
おためし編
readline, readlines
readはファイル全体を一つの文字列として読み出しますが、各行をリスト型で格納するreadlineと、一行ずつ読み出すreadlinesもあります。場合によって使い分けましょう。
複数のファイルを読み込む
globでファイルリストの一覧を取得し、for文で各ファイルを順番に読み出していきます。
#複数のファイルを読み込む
file_list = glob.glob("./*.log")
for text_file in file_list:
with open(text_file,"r") as file:
result = file.read()
ファイルの中身を書き換える
複数のファイルを連続で読み出し、中身のテキストの任意の文字列を置換できます。ファイルの中身を書き換えるには、ファイルを書き込み型(“w”)で開き、writeメソッドを使用します。
※ファイルを開く際には、”w” “r”どちらかしか指定できません。read()メソッドは”r”でのみ、write()メソッドは”w”でのみ使用可能なため、読み込み時と書き込み時でそれぞれファイルのオープンが必要です。
#ファイルの中身を一括で書き換える
file_list = glob.glob("./day09_sample_forday12/*.log")
for text_file in file_list:
with open(text_file,"r") as file:
org = file.read() #ファイルの中身を読み込む
with open(text_file,"w") as file:
new = org.replace("No.", "Number.") #書き換える文字列を指定
file.write(new) #書き換える
参考
コードはこちらを参考にしました。
Pythonのread, readline, readlinesメソッドの使い方を現役エンジニアが解説【初心者向け】 | TechAcademyマガジン
初心者向けにPythonのread, readline, readlinesメソッドの使い方について解説しています。ファイルサイズが小さい場合は、readメソッドで一括に読み込んでも問題ありませんが、ファイルサイズが大きい場合はサイズ指定をしたり、readlineメソッドで少しずつ読み込むことも出来ます。
read, readline, readlinesの公式リファレンスはこちら。ファイルをオープンするときに使えるwith構文についてはこちらをご参照ください。
コメント