目次
(確認環境:Python 3)
読み込むファイル
以下のファイル(test1.txt)を読み込みます。
あいうえお
かきくけこ
さしすせそ
テキストファイルを読み込む
| open(パス/ファイル名, 'r', encoding=文字コード) |
2つめの引数のrが読み込みを表します。
path1 = "D:\\test1\\test1.txt"
file1 = open(path1, 'r', encoding='utf-8')
for line in file1:
print(line) # あいうえお かきくけこ さしすせそ
file1.close()
openでファイルを開いています。2つめの引数はr(read)です。3つめの引数でutf-8を指定しています。shift-jisを指定する場合は、encoding='shift_jis'にします。省略した場合は、デフォルトでUTF-8になります。
複数行を読み込みリストを返す(readlines)
readlinesで末尾にsがつきます。
path1 = "D:\\test1\\test1.txt"
file1 = open(path1,'r',encoding='utf-8')
f1 = file1.readlines()
file1.close()
print (f1) #['あいうえお\n', 'かきくけこ\n', 'さしすせそ\n']
readlinesは、複数行読み込みます。
printでは、リストが表示されます。
1行読み込み文字列を返す(readline)
readlineで末尾にsはつきません。
path1 = "D:\\test1\\test1.txt"
file1 = open(path1,'r',encoding='utf-8')
f1 = file1.readline()
f2 = file1.readline()
f3 = file1.readline()
file1.close()
print (f1) # あいうえお
print (f2) # かきくけこ
print (f3) # さしすせそ
readlineは、1行読み込みます。
読み込む文字数を指定する(read)
path1 = "D:\\test1\\test1.txt"
file1 = open(path1,'r',encoding='utf-8')
f1 = file1.read(7)
for line in f1:
print (line) #あ い う え お か
file1.close()
readに引数の数値をつけ読み込む文字数を指定しています。
printでは6文字のみ表示されています。改行も1文字とされるためです。
テキストファイルに書き込む(write)
| open(パス/ファイル名, 'w', encoding=文字コード) |
2つめの引数のwが書き込みを表します。
path1 = "D:\\test1\\test2.txt"
file1 = open(path1,'w',encoding='utf-8')
file1.write("赤\n")
file1.write("黄\n")
file1.write("青\n")
file1.close()
openでファイルを開いています。2つめの引数はw(write)です。3つめの引数でutf-8を指定しています。shift-jisを指定する場合は、encoding='shift_jis'にします。省略した場合は、デフォルトでUTF-8になります。
writeで書き込みを行います。\nは改行です。
open関数の2つめの引数の処理のモード
| open(filename, mode,文字コード) |
- 1つめの引数は、ファイル名を指定します。
- 2つめの引数は、mode(モード)です。
- file object を返します。
| modeの文字 | 説明 |
|---|---|
| r | 読み込みます |
| w | 新規で書き込みます |
| a | 追記で書き込みます |
| r+ | 追記の書き込みと読み込みができます ファイルが存在しない場合はエラーになります |
| w+ | 新規の書き込みと読み込みができます ファイルがない場合作成します |
| a+ | 追記の書き込みと読み込みができます ファイルがない場合作成します |
| b | バイナリーモードで開きます |
関連の記事
