ざつーな俺用まとめ。見てもいいことないのでブラウザバック。
- python2.7.13
- Interactiveで試した
やったことをどっかに残して置きたかっただけなのと、それぞれ個別に記事を投稿するのがめんどかったから。はい。
dictionaryのkey一覧がみたい
でかいレスポンスdictionaryを受け取ったときに、探索したいときに使った。
>>> d = {'a': 'a', 'b': ' b'} >>> d.keys() ['a', 'b']
attributeの一覧がみたい
よく知らないライブラリのクラスをObject化したときに、何を持っているのかを確認したときに便利。
>>> class Test(): ... def test(): ... pass ... >>> test = Test() >>> dir(test) ['__doc__', '__module__', 'test']
ファイルの存在確認
そのまま。assertでチェックするといいかも。
>>> import os >>> path = os.path.join('./', 'test', 'test.json') >>> assert os.path.exits(path), 'File does not exists.'
ファイルやディレクトリの有無を調べる - Python Tips
文字列フォーマット
format()
とか使わずにやった。
>>> 'test %s' % ('test') 'test test' >>> 'test %s, %s' % ('test2', 'test1') 'test test2, test1'
jsonを扱う
import json
で色々できる
>>> import json
dictionaryをjson文字列にする
>>> d = {'a': 'a'} >>> json.dumps(d) '{"a": "a"}'
json文字列をdictionaryにする
unicodeになる。
>>> a_json_string = json.dumps({'a':'a'}) >>> a_json_string '{"a": "a"}' >>> a = json.loads(a_json_string) >>> a {u'a': u'a'}
json文字列をファイルに書き込む
ややこしいけど、json.dump()
でできる。
# 書き込み >>> f = open('test.json', 'w') >>> json.dump(json.dumps({'a':'a'}), f) >>> import os >>> os.path.exists('./test.json') True >>> f.close() # 読み込み >>> f = open('./test.json', 'r') >>> json_file = f.read() >>> json_file '"{\\"a\\": \\"a\\"}"' # これはよくわかっていないのだが、最初の読み込みはなぜかstring >>> j = json.loads(json_file) >>> j u'{"a": "a"}' # string # json stringをさらに読み込み後、dictionaryとなる >>> jj = json.loads(j) >>> jj {u'a': u'a'} # dictionary
18.2. json — JSON encoder and decoder — Python 2.7.13 documentation qiita.com iyukki.blog56.fc2.com stackoverflow.com
Python2系でハマるstring, unicode辺り
毎回はまる。辛い。
Python packageの作り方
セキュアなファイルや、画像とかの格納場所はどこにすればいいのか。適当にmodule以下にstatic
ディレクトリを作って、そこで管理しやすいように作っている。