Python - 文法 - ファイル入出力 - 出力


 クラウディア


1. 概要
2. 出力
3. json5 形式で読み書き

1. 概要

 今度は出力です。  本ページは、下記のサイトを参考にさせていただきました。
入力と出力」
「pprint --- データ出力の整然化 — Python 3.8.5 ドキュメント」
「Python | テキストファイルへ書き込む

2. 出力

 単純なテキストファイルへの出力をば。

import os

with open('text.txt', 'w') as file:
  file.write('あいうおえおあお' + os.linesep)
 てなソースを書いて実行すると、下記の内容のテキストファイルを、カレントディレクトリに作成します。

あいうおえおあお

3. json5 形式で読み書き

 「json5」に関しては、「JavaScript Object Notation - Wikipedia」をご参照ください。  「json5」というモジュールを使えば、オブジェクトを「json5」形式にシリアライズして読み書きできるというのです。

import json5

file_name = "text.json"

dic =   {
        '住所' : '東京都 千代田区',
        '名前' : '東京 太郎',
        'ふりがな' : 'とうきょう たろう',
        '年齢' : 18,
        '性別' : '男',
        }

with open(file_name, 'w', encoding='utf-8') as file:
    json5.dump(dic, file)
 というソースを書いて実行すると、下記の内容のファイルが作成されます。  ワタクシ的には、辞書の中身がエンコードされちゃうのが「ちょっとね」て感じなのですが。

{住所: "\u6771\u4eac\u90fd \u5343\u4ee3\u7530\u533a", 名前: "\u6771\u4eac \u592a\u90ce", ふりがな: "\u3068\u3046\u304d\u3087\u3046 \u305f\u308d\u3046", 年齢: 18, 性別: "\u7537"}
 これを読み込みます。

import json5
import pprint

file_name = "text.json"

dic = {}

with open(file_name, 'r') as file:
    dic  = json5.load(file)

pp = pprint.PrettyPrinter()
pp.pprint(dic)
 というソースを書いて実行すると、下記の結果が得られます。

{'ふりがな': 'とうきょう たろう', '住所': '東京都 千代田区', '名前': '東京 太郎', '年齢': 18, '性別': '男'}
 出力時に、ソートされているのかな?

earthcar(アースカー)