Pythonでもファイルを読んだり書いたりと操作する事ができます。
ファイルのロード
open
file=open("test.txt","r") text=file.read() file.close() print(text)
openはファイルを開きます。
ファイルポインタ = open( ファイル名 , ファイルに対する動作を示す文字列 )
open関数でファイル名で指定したファイルを開きます。
操作するファイルのパスは実行する.pyファイルがある位置がカレントディレクトリになります。
“C:\\test\\test.txt”絶対パスでの指定や、”data\\test.txt”のような相対パスでの指定も可能です。
r | 読み込み専用 |
w | 書き込み専用(ファイル先頭から書く) |
a | ファイルに追加書き込み(ファイルが無い場合は新規作成) |
+ | 読み書き両用 |
t | テキストモード(デフォルト) |
b | バイナリーモード |
書き方は「r+」や「wb」といった形になります。
read
file=open("test.txt","r") text=file.read() file.close() print(text)
readでファイルを読み込みます。
文字列変数=ファイルポインタ.read()
openで開いたファイルポインタからread関数でファイルの中身全てを読み込みます。
for
file=open('test.txt','r') for p in file: print(p) file.close()
forでファイルを1行ずつ読み込みます。
for 受け取る変数 in ファイルポインタ:
openで開いたファイルポインタからループ毎にファイルの中身を1行ずつ変数に入れてファイルの最後まで読み込みます。
write
file=open("test.txt","w") file.write("abcd\n") file.write("efghi\n") file.close()
writeでファイルを読み込みます。
ファイルポイント.write(書き込む文字列)
openで開いたファイルポインタからwrite関数でファイルに書き込みます。
ファイルに対する動作がwでもwriteを続けて書けば追記となります。
close
file=open("test.txt","r+") file.write("abcd\n") file.write("efghi\n") file.close()
closeでファイルを閉じます。
ファイルポイント.close()
openで開いたファイルポインタからclose関数でファイルを閉じます。
ファイルを閉じないと書き込みなどが反映されないので注意です。
with
with open("test.txt","r") as file: text=file.read() print(text)
ネスト内でファイル操作を簡潔させる書き方です。
for 受け取る変数 in ファイルポインタ:
withではclose関数で閉じる必要なくネストから外れるとファイルを閉じるようになっています。