【Python】ファイルの中身を読み込む(read, readline, readlines)

Python でファイルの中身を読み込む変数に格納する方法です。

※ちなみに本サイトのプログラムはすべて Python 3.6 系で作成しています。

 

 

ファイルを読み込む流れ

いろいろなパターンがあると思いますが、基本は以下の手順です。

  1. ファイルを開く
  2. ファイルを読み、変数に格納する
  3. ファイルを閉じる

 

ファイルの開き方(ファイルのオープン)

■構文

f = open('test.txt', 'r')

 

# フルパスでもOK

f = open('/home/test/test.txt','r')

 

 

  • r ← 読み込みモードで開く
  • w ← 書き込みモードで開く
  • a ← 追加書き込みモードで開く

 

 

ファイルの閉じ方(ファイルのクローズ)

■構文

f.close()

 

3種類の読み込み方

  • read
  • readline
  • readlines

 

read

ファイルの中身を1つの文字列として読み込みます。(一度に全部読み込みます)

1行1行読み込み文字を変換するなどの処理が必要ない場合に利用します。

 

■プログラム例

# ファイルを読み込みモードでオープン

f = open('test.txt', 'r') 

 

# readですべて読み込みwordsに格納する
words = f.read()

 

# words変数の中身を表示する

print(words)

 

# ファイルを閉じる

f.close()

 

 

readline

ファイルの中身を1行ずつ読み込みます。

1行1行に対して何らかの処理をしたい場合に利用します。

# ファイルを読み込みモードでオープン

f = open('test.txt', 'r') 

 

# readlineで1行だけ読み込む
lines = f.readline() 

 

# for文で1行ずつ表示する
for line in lines:
    print(line)

 

# ファイルを閉じる

f.close()

 

readlines

ファイルの中身を1行ずつリストの1要素として追加します。

リスト形式として処理をしたい場合に利用します。

# ファイルを読み込みモードでオープン

f = open('test.txt', 'r')

 

# readlines で1行ずつの要素でリストとして読み込む
flist = f.readlines() 

 

# リスト形式で表示する
print(flist)

 

# リスト形式のファイルを1行ずつ表示する

for line in flist:

    print(line)

 

 

 

 

Posted by 100%レンタルサーバーを使いこなすサイト管理人