ファイルオブジェクトのメソッド

ファイルオブジェクトのメソッド

ファイルオブジェクトのメソッド

 ファイルオブジェクトのメソッドをまとめておきます。
 F はファイルオブジェクトを表します。

F.read()

 F.read() はファイルの内容をすべて読み込んで文字列として返します。

# FRW_04

# ファイルへの書き込み
with open("pyfile_1.txt", "w", encoding = "utf-8") as f:
    f.write("今日もPython、明日もPython")

# ファイルの読み込み
with open("pyfile_1.txt", "r", encoding = "utf-8") as f:
    my_str = f.read()
    print(my_str)
今日もPython、明日もPython

 

F.readline()

 F.readline() はファイルを一行読み込んで文字列として返します。

# FRW_05-1

# ファイルへの書き込み
with open("pyfile_2.txt", "w", encoding = "utf-8") as f:
    # 3行の文章を書き込む
    f.write("NumPyを使うと難しい数値計算ができます。\n\
    SciPyを使うと、もっと難しい数値計算ができます。")

# ファイルの最初の行を読み込む
with open("pyfile_2.txt", "r", encoding = "utf-8") as f:
    my_str = f.readline()
    print(my_str)
NumPyを使うと難しい数値計算ができます。

 引数に整数を渡すと、読み込む文字列のバイトサイズを指定できます。アルファベットは 1 文字 1 バイトなので、以下のコードで "NumPy" という 5 文字を取り出すことができます。

# FRW_05-2

# ファイルから一行を読み込む
with open("pyfile_2.txt", "r", encoding = "utf-8") as f:
    my_str = f.readline(5)
    print(my_str)
NumPy

 

F.readlines()

 F.readlines() はファイルをすべて読み込んで行ごとに分割してリストで返します。

# FRW_06

# ファイルへの書き込み
with open("pyfile_3.txt", "w", encoding = "utf-8") as f:
    # 3行の文章を書き込む(オブジェクト指向の四大要素)
    f.write("カプセル化\n抽象化\nポリモーフィズム\n継承")

# ファイルの一行を読み込む
with open("pyfile_3.txt", "r", encoding = "utf-8") as f:
    my_list = f.readlines()
    print(my_list)
['カプセル化\n', '抽象化\n', 'ポリモーフィズム\n', '継承']

 引数に整数を渡すと、読み込む文字列のバイトサイズの上限を指定できます (サンプルコードは省略)。
 

独学プログラマー Python言語の基本から仕事のやり方まで

中古価格
¥1,537から
(2019/7/30 20:25時点)

F.write()

 F.write() はファイルに指定した文字列を書き込みます。

# FRW_07

# ファイルへの書き込み
with open("pyfile_4.txt", "w", encoding = "utf-8") as f:
    f.write("Pythonは日本語で「ニシキヘビ」です")

# ファイルの読み込み
with open("pyfile_4.txt", "r", encoding = "utf-8") as f:
    my_str = f.read()
    print(my_str)
Pythonは日本語で「ニシキヘビ」です

 

F.writelines()

 F.writelines() は受け取ったイテラブルオブジェクト (リストやタプルなど) の要素を連結してファイルに書き込みます。

# FRW_08

# 文字列のリストを用意
my_list = ["NumPy, ", "SciPy, ", "SymPy"]

# ファイルへの書き込み
with open("pyfile_5.txt", "w") as f:
    f.writelines(my_list)

# ファイルの読み込み
with open("pyfile_5.txt", "r") as f:
    my_str = f.read()
    print(my_str)
NumPy, SciPy, SymPy

F.close()

 開いた状態のファイルオブジェクトに対して F.colse() を用いると、ファイルを閉じます。

# FRW_09

# ファイルを新規作成して読み込み専用モードで開く
f = open("pyfile_6.txt", mode = "w")

# ファイルを閉じる
f.close()

 閉じられたファイルは読み書きが一切できない状態です。
 コード FRW_09 で閉じた pyfile_6.txt を開こうとしてもエラーが返ります。

f.read()
ValueError: I/O operation on closed file.