python ファイルの書き込み処理を行う

python ファイルの書き込み処理を行う

pythonで、ファイルの書き込み処理を行うサンプルコードを記述してます。

環境

  • OS windows10 pro 64bit
  • python 3.8.5

ファイルの書き込み

ファイルの書き込みを行うには、open()関数の引数に「w」を指定します。

「w」を指定するとファイルが存在していない場合は、ファイルが作成されます。ファイルが存在した場合は、内容が上書きされます。

f = open('hoge.txt', 'w', encoding='utf-8')

f.write('Hello World')

f.close()

hoge.txt 実行結果

Hello World

リストの値を、まとめて書き込むことも可能です。

f = open('hoge.txt', 'w', encoding='utf-8')

lst = ['Hello World', 'Hello World', 'Hello World']

f.write('\n'.join(list))

f.close()

hoge.txt 実行結果

Hello World
Hello World
Hello World

複数の文字列をまとめてファイルに書き込む際には、 writelinesを使用しても同様の結果が得られます。

f = open('hoge.txt', 'w', encoding='utf-8')

lst = ['Hello World\n', 'Hello World\n', 'Hello World\n']

f.writelines(lst)

f.close()

ファイルが存在しない場合のみ書き込み

モードを「x」にすると、ファイルが存在してない場合のみ書き込みを行います。

f = open('foo.txt', 'x', encoding='utf-8')

lst = ['Hello World\n', 'Hello World\n', 'Hello World\n']

f.writelines(lst)

f.close()

すでに存在している場合は、FileExistsErrorとなります。

FileExistsError: [Errno 17] File exists: 'foo.txt'

追加書き込み

モードを「x」にすると、追加でファイルに書き込みを行います。

hoge.txt

上図のhoge.txtに「Hello World」を3行追記します。

f = open('hoge.txt', 'a', encoding='utf-8')

lst = ['Hello World\n', 'Hello World\n', 'Hello World\n']

f.writelines(lst)

f.close()

hoge.txt 実行結果