python

Python Prompt Toolkitをdjangoで使う

昨日、Python Prompt Toolkitを試してみて、djangoでも使えるといいなと書いたんだけど、django-extensionsのコード見たら実装されてた。 https://github.com/django-extensions/django-extensions/commit/510201103d9c2f5e3ce41d974e588011b8eab4ab こんな…

PythonのREPLでシンタックスハイライトやコード補完を利用可能にするPython Prompt Toolkit

試してみた インストール $ pip install prompt-toolkitREPL起動 $ ptpythonシンタックスハイライト、コード補完がいい感じ。 あとマルチライン入力とかにも対応している。djangoのshellで使えればなお良さそう。オプション--viを渡せばviっぽいキーバインド…

Python2.xでCodeEvalのBig Digits

CodeEval - Coding Challenges for the World's Best Developers

except節で複数の例外を捕捉する

Exceptionなど、例外の基底クラスをexceptすれば子クラスはすべてキャッチされるが、意図しない例外もすべてキャッチしてしまう。例外クラスをちゃんと指定してキャッチするには、タプルで書けばいい。

Pythonのnanとinf

Pythonで日本の祝日判定をするスクリプト

Pythonで日本の祝日判定をするスクリプトを見つけたので触ってみた。参考:AddinBox(祝日マクロ-5) 何故かsysとmathのimport文がないので追加した。 使い方はholiday_name関数にdateオブジェクト、もしくは年月日をintで渡すだけ。以下の使い方サンプルはdat…

Pythonでバージョンナンバーを比較する

2.6.4のようなバージョンを表す文字列を比較したい。関連:MySQLでバージョンナンバーをソートする - brainstorm pythonの場合はdistutils.verson.StrictVersionが使える。 ただしStrictVersionは"1"のように数字のみだとバージョンとして扱えず、ValueError…

unittest.TestCaseの出力で期待値と実際の値の差分を省略しない

unittest.TestCaseのassertEqualsなどで、期待値と実際の値の差分が大きい場合80*8文字まで表示してあとは省略される # coding=utf-8 from unittest import TestCase class DiffTest(TestCase): def test_diff(self): self.assertEquals(range(0, 1000), ran…

Formのエラー文字列を辞書で取得する

view関数のテストでjsonをPOSTする

def test_xxxx(self): data = {} # postするデータ res = self.client.post('/path/to/api', content_type='application/json', data=json.dumps(data)) view関数側ではrequest.bodyをjson.loadsしてdataを受け取る def xxxx(request): data = json.loads(re…

Djangoで日本語名のファイルアップロード時にエラー

ひさびさにUnicodeEncodeErrorなんてものを見た気がする。 UnicodeEncodeError: 'ascii' codec can't encode characters in position 11-19: ordinal not in range(128) 以前も同じようなことがあって、そのときはgunicornを起動している環境の環境変数でLC_…

pythonでファイルをbase64エンコードする処理と、base64をデコードしてファイルに書き込む処理

Python 3.xでCodeEvalのNumber Pairs

CodeEval - Coding Challenges for the World's Best Developers 関連:Go言語でCodeEvalのNumber Pairs - brainstorm 関連:Python 2.xでCodeEvalのNumber Pairs - brainstorm

Python 3.xでCodeEvalのSUM TO ZERO

CodeEval - Coding Challenges for the World's Best Developers 関連:Python2でCodeEvalのSUM TO ZERO - brainstorm 関連:Go言語でCodeEvalのSUM TO ZERO - brainstorm

Python 3.xでCodeEvalのDecode Numbers

CodeEval - Coding Challenges for the World's Best Developers関連:Go言語でCodeEvalのDecode Numbers - brainstorm 関連:Python2でCodeEvalのDecode Numbers - brainstorm

Python 3.xでCodeEvalのTrailing String

CodeEval - Coding Challenges for the World's Best Developers 関連:Python 2.xでCodeEvalのTrailing String - brainstorm 関連:Go言語でCodeEvalのTrailing String - brainstorm

Python 3.xでCodeEvalのOverlapping Rectangles

CodeEval関連:Python2でCodeEvalのOverlapping Rectangles - brainstorm 関連:Go言語でCodeEvalのOverlapping Rectangles - brainstorm

Python 3.xでCodeEvalのFirst Non-Repeated Character

CodeEval Python 3.xでは、map関数がイテレータを返すようになった関連:Go言語でCodeEvalのFirst Non-Repeated Character - brainstorm 関連:Python 2.xでCodeEvalのFirst Non-Repeated Character - brainstorm

Python 3.xでCodeEvalの Number of Ones

CodeEval 関連:Go言語でCodeEvalのNumber of Ones - brainstorm 関連:Python 2.xでCodeEvalのNumber of Ones - brainstorm

Python 3.xでCodeEvalのDecimal To Binary

CodeEval関連:Go言語でCodeEvalのDecimal to Binary - brainstorm 関連:Python 2.xでCodeEvalのDecimal To Binary - brainstorm

Python 3.xでCodeEvalのMinimum Coins

CodeEval関連:Python2でCodeEvalのMinimum Coins - brainstorm 関連:Go言語でCodeEvalのMinimum Coins - brainstorm

PythonとGoでintの最大値を取得

python 2.xsys.maxintで取得。環境によって32bit符号付き整数、または64bit符号付き整数の最大値が取得できる print sys.maxint # 9223372036854775807 print hex(sys.maxint) # 0x7fffffffffffffff print 2**63-1 # 9223372036854775807 python 3.x sys.max…

Python 3.xでCodeEvalのAge Distribution

CodeEval

Python 3.xでCodeEvalのRoller Coaster

CodeEvalアルファベットを1文字ずつ大文字、小文字にして出力する。 ピリオドやカンマなどはそのまま出力する。input To be, or not to be: that is the question. Whether 'tis nobler in the mind to suffer The slings and arrows of outrageous fortune…

Python 3.xでCodeEvalのJuggling with zeros

CodeEval関連:Python2でCodeEvalのJuggling with zeros - brainstorm 関連:GolangでCodeEvalのJUGGLING WITH ZEROS - brainstorm

Python 3.xでCodeEvalのLettercase Percentage Ratio

CodeEval関連:GolangでCodeEvalのLettercase Percentage Ratio - brainstorm 関連:Python2でCodeEvalのLettercase Percentage Ratio - brainstorm

Python 3.xでCodeEvalのDATA RECOVERY

CodeEvalitertools.izipは無くなった。 関連:GolangでCodeEvalのDATA RECOVERY - brainstorm 関連:python2でCodeEvalのDATA RECOVERY - brainstorm

Python 3.xでCodeEvalのWorking Experience

CodeEval関連:GolangでCodeEvalのWorking Experience - brainstorm 関連:Python2でCodeEvalのWorking Experience - brainstorm

Python 3.xでCodeEvalのRacing Chars

CodeEval関連:Go言語でCodeEvalのRacing Chars - brainstorm 関連:Python2でCodeEvalのRacing Chars - brainstorm

Python 3.xでCodeEvalのThe Major Element

CodeEval関連:Go言語でCodeEvalのThe Major Element - brainstorm 関連:Python2でCodeEvalのThe Major Element - brainstorm