python
PyPIにaojtoolsというパッケージを登録しました。 aojtoolsはAizu Online Judge Systemが提供するAPIのラッパーとsubmit用モジュール、それからコマンドラインプログラムからなります。aojtoolsを使うとAPIに透過的にアクセスできたり、プログラムを素早く提…
YoutubeやBlogger、CalenarなどGoogleのサービスを利用するGoogle Data APIというのがあるらしいです。 その一つにGoogle Documentsのスプレッドシートを操作するAPIがあり、今回はそのAPIを使って簡単な食事記録アプリケーションを作ろうと思います。 イン…
Pythonでファイルにプログラムを記述しているときに、ここでインタプリタを起動したいなあとか思う事があるわけです。そんなときに以下のコードの突っ込んで実行しているんですがもっといい方法はないかなあとか思ってる最近です。 VBみたいにGUIでブレーク…
オライリーから出版されている『アルゴリズムクイックリファレンス』で凸包走査アルゴリズムを学習したので、PythonとPyOpenGLで適当に点を打った点集合から凸包を計算して表示するプログラムを作成しました。点(-1,-1)と、点(+1,+1)からなる矩形に一様…
PythonでXMLを読んで辞書オブジェクトの木に変換するプログラムを書いたけどなんかいけてないので、タグへのアクセスを属性アクセスで実現する方法を考えてみました。要は <root> <children> <child>A</child> <child>B</child> <child>C</child> <child>D</child> </children> </root> こういうXMLを読んで、Pythonから root['children']['child'][0] こうア…
PythonからTwitterにログインしてpostしたりfollowingを確認したりするプログラムを書いてみようとしたわけなんですが、数回はうまくいったものの以降突如としてCAPTCHAが現れ玉砕。さて困った。ついったー的にはOAuth使えや!!!って感じなんでしょうか。 …
とある理由でPythonでASIN→書籍名変換をしたいと思います。前はAmazon APIとかいうのがあって楽に取得できた記憶があるんですが、今はどうやら認証の手続きが必要になったらしく、名前も変わっていました。Product Advertising API認証にシークレットトーク…
今書いているプログラムでhttps通信を使ったログイン処理っぽい事をする必要が出てきたのでPythonのマニュアルを読んで、簡単にできることがわかりました。urllib2を使うみたいだ。 http://www.python.jp/doc/2.5/lib/urllib2-examples.htmlサンプルとして、…
診断メーカーの複数の診断結果をテキストで返すCGIスクリプト。結果をHTMLから抽出するのにBeautifulSoupライブラリを使用した。追記: 2010/11/02 HTML構造の変化に伴ってソースを変更しました。 #! /usr/bin/python2.6 # coding: utf-8 import cgi import …
Pythonのクラス定義で__slots__でクラスの属性を指定するとクラスをインスタンス化するとき__dict__を作成しないため メモリを節約 参照、代入可能な属性を固定 できるらしい。。。実際のところどの程度メモリを節約できるのかに興味をもったので、100万…
前回のエントリで、パスワードを生成してクリップボードにコピーするプログラムを書きました。今回も同じ機能を持つプログラムを書きました。前回はWIN32APIをつかってクリップボードを操作しましたが、今回はクロスプラットフォームのGUIライブラリであるwx…
自分でランダムなパスワードを考えるのが億劫なので適応な長さのパスワードを生成してクリップボードに貼り付けるプログラムを書いた。 #! /usr/local/bin/python2.6 # coding: utf-8 # n文字のパスワードを作成するプログラム。 # 最後にプロンプトを出して…
前回のエントリでは1引数で1つの値を返す関数の型チェックをするデコレータを書きました。今回はそれを拡張して、複数の引数を受け取り一つの値を返す関数に対してごく簡単な型チェックをするコードを書きました。 #! /usr/local/bin/python2.6 # coding: …
『エキスパートPythonプログラミング』を少しづつ読み進めています。序盤からジェネレータについて自分の知らなかった使い方が載っていたりして読み進めるのが楽しいな。BTSを使ったバグ管理、unittestモジュールとnoseを使ったTDDなど、実際の開発プロセス…
さんざんwxGladeとXRC駄目だなどと書いておいてまたwxGladeでアプリケーション書いちゃいました。 wxGladeが4時間で7回落ちた。最高記録だ!少し前まで、webサーバ上で予定管理のためのごく簡単なアプリケーションを作って使っていて、そのサーバが使えな…
impモジュールを使うと自前のimportを記述できそうだということがわかったので、試しにはてなダイアリーに簡単なソースコードをアップロードしてPCのローカルにあるファイルからインポートして関数を実行させてみました。 実装にはhttp://antas.jp/blog/ya…
前の記事で書いたjsonシリアライザの仕組みを、自作のパーサではなくjsonモジュールで実装した。32行で実装できた。お手軽。ユーザ定義型のシリアライズの方法は同じで、__encode_json__で永続化したいオブジェクトを返して、__decode_json__クラスメソッド…
Pythonは2.6からjsonのシリアライズをする標準モジュールのjsonがある。このモジュールの関数loads/dumpsなどを使うと、手軽にデータをjson文字列にしたり、json文字列をPythonデータに変換できるので、Ajaxアプリケーションのサーバ側プログラムを実装した…
2012/12/01 追記:Twitterでは、BASIC認証をすでに廃止してOAuthが必須となっているため、本エントリでのタイムラインの取得は動作しません。wxPythonとtwitter-pythonライブラリを用いてTwitterのGUIクライアントを作った。認証などに関してライブラリによ…
Pythonのtwitterライブラリのtwitter-pythonとwxPythonを組み合わせてタイムラインを表示させてみた。 あとはpostする機能がつけば簡易なクライアントになりそう。 使うにはソース中のusername,passwordにユーザ名、パスワードを代入して実行する。 # coding…
した。wx.PaintDCを使ってPanelの上に描画している。OpenGLのディスプレイリストのような機能がないので(よく探していないので実際はあるかもしれない)、1度の描画にしばらく時間がかかる。なので、計算結果がすぐにみられるようにピクセルの描画の順番を…
wxPythonで簡単なオセロを実装してみた。NPCなし。一人でぽちぽち遊ぶ。石を置けるマスのガイド機能つき。 リバーシの実装が79行で、GUIの実装が98行になった。UI部分が煩雑でちょっと面倒
bunny horsePyOpenGLでPLYファイルのてきとうなパーサを書いてスタンフォードバニーを表示させた。超がつくほどのてきとうな仕様のパーサで色々と決め打ち。法線は描画時に面法線を計算して設定する。・・・いまのプログラムだと法線の方向が逆になる場合が…
OpenGLで描画対象となる点のx軸とy軸を交換したい。そこで現在の行列に引数の行列を掛けるglMultMatrixでx,y軸を交換する小さなプログラムを書いた。 ネイピア数の指数関数をプロットしたあとにx,y軸を交換してまたプロットする。 # coding: utf-8 import sy…
http://okajima.air-nifty.com/b/2010/01/post-abc6.html Lv3らしい。でしょうね・・30分ぐらい。高校生で効率良く解いた方がおられた。 http://d.hatena.ne.jp/qnighy/20100111/1263191078 # coding: utf-8 import sys m = sys.stdin.read().splitlines() #…
threadingモジュールにセマフォがあるそうな。 LockとRLockの違い、SemaphoreとBoundedSemaphoreの違いがよくわからない。勉強不足だ。http://docs.python.org/library/threading.html?highlight=threading#module-threading # coding: utf-8 import threadi…
いつも忘れるのでメモ。pythonで小さなAPI群を開発したとして、urlにpythonスクリプトの拡張子.pyをつけずにアクセスするにはどうすればいいか。http://localhost:8000/api/add.pyのようなurlではなくhttp://localhost:8000/api/addとしたい。こっちのほうが…
ヴァァァー。 ひっそりたまにやってるProject Euler。problem 204が4行で書けたのでうれしい。以下はhttp://odz.sakura.ne.jp/projecteuler/index.php?Problem%20204より。 ハミング数とは, どの素因数も5以下であるような正整数のことである. 最初から順に…
ヴァァァーーーー。http://d.hatena.ne.jp/amachang/20091217/1261029632を見て面白そう!と思いPythonとPILでできないかどうか調べて実装してみました。参考:http://d.hatena.ne.jp/tanakahisateru/20081008/1223450159MacOSX10.5.8で動作を確認しました。…
import itertools def gcd(x, y): while y: x,y = y,x%y return x def pytanum(): # 基本ピタゴラス数の生成 # [ピタゴラス数] # x^2 + y^2 = z^2 となる (x,y,z) の組 # [基本ピタゴラス数] # x,y,zが互いに素なピタゴラス数 # [基本ピタゴラス数の生成] # …