ここでは、Pythonにおける「txt」データの読み込み・書き込み操作方法について解説しています。
この記事の対象
読み込み方法
「txt」データを読み込みにはopen()メソッドを用います。このとき、開きたいファイルの文字エンコーディングを指定する必要があるので注意が必要です。
「txt」データの読み込み
以下のプログラムは予め「fib.txt」ファイルを生成しておき、そのファイルの中に書かれている数列を読み込んで、表示させている内容となっています。
open_file = open("fib.txt",encoding = "utf-8")#1---encodingの指定に注意
out_file = open_file.read()
open_file.close()
print("以下はフィボナッチ数です。\n",out_file)
1の部分でエンコーディングを指定していることに注意して下さい。余談ですが、「Shift_JIS」を指定したい場合は「open(*****,encoding=”sjis”)」とします。
読み込んだファイルを「out_file」に入れて、出力させています。
結果
以下はフィボナッチ数です。
#1
#1
#2
#3
#5
#8
#13
#21
#34
#55
#89
#144
#233
#377
#610
#987
#1597
#2584
#4181
書き込み方法
「txt」データの書き込みを行う場合は、open()メソッド内で「モード」を指定する必要があります。モードには書き込みモード(w)、読み込みモード(r)などがあります。
「txt」データの書き込み
以下のプログラムは数列を生成して、「fib.txt」として書き込む内容となっています。
open_file = open("num.txt",mode = "w",encoding = "utf-8")
for i in range(1,21):
open_file.write(str(i)+"\n")
open_file.close()
open()メソッドで「num.txt」を開き、1~20の数字を書き込んでいます。読み込みと違う点は、「mode=”w”」とopen()メソッド内に書いている点です。これを書くことでファイルに文字を書き込むことができます。
結果
open()メソッドのmode一覧
mode種類 | 内容 |
w | 書き込みモードで開く |
r | 読み込みモードで開く(宣言が無い場合のデフォルト) |
a | 書き込みモードで開き、ファイルがあれば末尾に書き込み |
b | バイナリモード ex.)”wb”などとして使用 |
t | テキストモード(宣言が無い場合のデフォルト) |
その他、txtファイル操作の使用例
項目 | 内容 |
zipファイル内の「txt」データの読込方法 | Pythonにおけるzipファイル内の「txt」データを解凍せずに中身だけ読込む方法について解説しています。 |
txtファイルから任意の文字列を探索する方法 | 「txt」データから任意の文字列を探索する方法について解説しています。 |