読者です 読者をやめる 読者になる 読者になる

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

Python 3.xでCodeEvalのSplit The Number

CodeEval関連:python 2.xでCodeEvalのSplit The Number - brainstorm 関連:Go言語でCodeEvalのSplit The Number - brainstorm

Python 3.xででCodeEvalのCOMPRESSED SEQUENCE

CodeEval 関連:Go言語でCodeEvalのCOMPRESSED SEQUENCE - brainstorm

Python 3.xでCodeEvalのRoad Trip

CodeEval 関連:Go言語でCodeEvalのRoad Trip - brainstorm

Python 3.xでCodeEvalのHidden Digits

CodeEval関連:Go言語でCodeEvalのHidden Digits - brainstorm

Python 3.xでCodeEvalのMorse Code

CodeEval 関連:Go言語でCodeEvalのMorse Code - brainstorm

Python 3.xでCodeEvalのMixed Content

CodeEval 関連:Go言語でCodeEvalのMixed Content - brainstorm

Python 3.xでCodeEvalのMultiply Lists

CodeEval 関連:Go言語でCodeEvalのMultiply Lists - brainstorm

Python 3.xでCodeEvalのSwap Elements

CodeEval関連:Go言語でCodeEvalのSwap Elements - brainstorm

Python3.xでCodeEvalのLongest Word

CodeEval 関連:Go言語でCodeEvalのLongest Word - brainstorm

Python 3.xでCodeEvalのShortest Repetition

CodeEval Scores関連:Go言語でCodeEvalのShortest Repetition - brainstorm

Python 3.xでCodeEvalのRoman Numerals

CodeEval関連:Go言語でCodeEvalのRoman Numerals - brainstorm 余談 引っ越しをきっかけに1000日連続でなんでもいいから書いてみようと思いたってから、どうやら1000日経った。 最近は本当にどうでもいいことしか書いてないのでこれからどうしようか考える

Python 3.xでCodeEvalのWord to digit

CodeEval関連:Go言語でCodeEvalのWord to digit - brainstorm

Python 3.xでCodeEvalのLowest Unique Number

CodeEval関連:Go言語でCodeEvalのLowest Unique Number - brainstorm

Python 3.xでCodeEvalのJSON Menu IDs

CodeEval関連:Go言語でCodeEvalのJSON Menu IDs - brainstorm

Python 3.xでCodeEvalのEven Numbers

CodeEval関連:Go言語でCodeEvalのEven Numbers - brainstorm

Python 3.xでCodeEvalのCalculate Distance

CodeEval関連:Go言語でCodeEvalのCalculate Distance - brainstorm

Python 3.xでCodeEvalのFind A Writer

CodeEval 関連:Go言語でCodeEvalのFind A Writer - brainstorm

Python 3.xでCodeEvalのSwap Case

CodeEval 関連:Go言語でCodeEvalのSWAP CASE - brainstorm

Python 3.xでCodeEvalのCapitalize Words

CodeEval関連:Go言語でCodeEvalのCapitalize Words - brainstorm

Python 3.xでCodeEvalのPENULTIMATE WORD

CodeEval 関連:Go言語でCodeEvalのPenultimate Word - brainstorm