Skip to content

Instantly share code, notes, and snippets.

@nrtkbb
Last active August 29, 2015 14:17
Show Gist options
  • Save nrtkbb/9830ff05393b1c6550a9 to your computer and use it in GitHub Desktop.
Save nrtkbb/9830ff05393b1c6550a9 to your computer and use it in GitHub Desktop.
データをjsonに書き出したり読み込んだりするクラス

初期化はファイル名を指定する

>>> jsonfile = JsonFile('filename.json')

保存する時はキーワード引数で指定する

>>> jsonfile.save(key1='value1', key2='value2')

読み出す時はdictが返ってくる(ファイルがなければNoneが返る)

>>> data = jsonfile.load()
>>> data['key1']
u'value1'
>>> data['key2']
u'value2'

いらなくなったら捨てる

>>> jsonfile.delete()
import json
import os
class JsonFile(object):
def __init__(self, file_name):
self.file_name = file_name
def save(self, **kwds):
try:
with open(self.file_name, mode='w') as f:
data = json.dumps(kwds)
f.write(data)
except IOError:
print u'Not allowed to write files to this path "%s".' % self.file_name
def load(self):
try:
with open(self.file_name, mode='r') as f:
return json.load(f)
except IOError:
return None
def delete(self):
if os.path.exists(self.file_name):
os.remove(self.file_name)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment