ITの隊長のブログ

ITの隊長のブログです。Rubyを使って仕事しています。最近も色々やっているお(^ω^ = ^ω^)

ここ最近でPythonの覚えたこと

スポンサードリンク

ざつーな俺用まとめ。見てもいいことないのでブラウザバック。

  • python2.7.13
  • Interactiveで試した

やったことをどっかに残して置きたかっただけなのと、それぞれ個別に記事を投稿するのがめんどかったから。はい。

dictionaryのkey一覧がみたい

でかいレスポンスdictionaryを受け取ったときに、探索したいときに使った。

>>> d = {'a': 'a', 'b': ' b'}
>>> d.keys()
['a', 'b']

www.pythonweb.jp

attributeの一覧がみたい

よく知らないライブラリのクラスをObject化したときに、何を持っているのかを確認したときに便利。

>>> class Test():
...     def test():
...             pass
...
>>> test = Test()
>>> dir(test)
['__doc__', '__module__', 'test']

www.lifewithpython.com

ファイルの存在確認

そのまま。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'

dackdive.hateblo.jp

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辺り

毎回はまる。辛い。

qiita.com qiita.com

Python packageの作り方

セキュアなファイルや、画像とかの格納場所はどこにすればいいのか。適当にmodule以下にstaticディレクトリを作って、そこで管理しやすいように作っている。

qiita.com