Python

ファイル中のコメントを無視する

入力ファイルとかにコメントを書けるといろいろとはかどる。 def comment_ignore(file_obj, comment="#"): for line in file_obj: line = line.split(comment, maxsplit=1)[0].strip() if line: yield line with open("file.txt") as f: for line in comment…

DjangoでAJAX

Ajaxを勉強しようの初めのサンプルをdjangoで動的に返せるようにしてみる. $ django-admin.py startproject ajax $ cd ajax $ chmod 775 manage.py $ gedit ajax/(urls.py|views.py) $ python manage.py runserver 単純にURL割り当ててviewsで返すだけ. 非…

不揃いなtupleをunpack

listの中のtupleの長さが揃ってないと,unpackするときに例外が出て不便. って思ったら下のように書けばよかった. for t in [(1, 2, 3), (4, 5)]: x, y = t[:2] print x + y

gglコマンドのCygwin対応

Cygwinで >> import webbrowser >> webbrowser.open("http://www.google.com") False >> 馬鹿な!! gglコマンドが使えないじゃないか. というわけで改良してみる. #!/usr/bin/env python #-*- coding:utf-8 -*- import sys import webbrowser import urll…

python on the wine on the linux

リバースエンジニアリングを表紙にグッときたので買ってしまった. PythonでDOSのdllとかLinuxのsoとかを呼び出したり,デバッガ作ったりDLLインジェクションをする話が載ってるっぽいです. ただ,日常的に使ってるのがLinuxだけに,Windowsのデバッガを作…

PythonのPriorityQueueが気に入らない

タイトルの通りである. PythonのPriorityQueueが気に入らない. まず,PythonのPriorityQueueクラスは,heapqをクラスにしたぐらいの存在にしか見えない. (引数でheapqと指定してるのだけど,それ以外の使い道が思いつかない) (本当はスレッドセーフと…

IPythonのテクニック

RitsPyでIPython使ってたときに,Ctrl + Rが使えるというのが @lnial さんに驚いてもらえて嬉しかったので,IPythonとかインタラクティブシェル関係でもうちょっといくつか書きます. IPythonでCtrl + R 履歴から検索 Ctrl + R の後に入力した文字列を履歴か…

Google翻訳が有料になるらしいので

bing翻訳に移行 精度もかなりいいらしい. # -*- coding: utf8 -*- import urllib import urllib2 from xml.etree.ElementTree import * #bing翻訳から訳を得る class Translator: def __init__(self, langFrom='en', langTo='ja'): self.data = { "appid": …

C++のクラスを自動生成

C++のクラスを生成するのがだるいので, ウィザード形式でソースとヘッダの組みを自動生成するPython書いた. いろいろオプションがあって何個も聞きまくるとだるいので, namespaceとクラスの名前以外は文字列入力にした. あんまりこういうの書いたこと無…

Pythonのurllibとプロキシ

Translator.pyもそうだけど,Pythonのurllibを使うと結構便利なものが書けると思う. でも,うちの学校では外に出るにはプロキシを通らなきゃ無いので,urllibをそのまま使うと残念な感じになる. どうやらPythonのurllibは環境変数を見ているらしいのだ. g…

対flymake用geditプラグイン「gfly」その2

C++とJavaとPythonとC#に対応した感じではある. とりあえず自分で使う言語には対応したし,もう言語の対応はそれほど積極的にしない予定. あとはmakeとantの対応とかオプションとか作る予定. 言語追加の要望のある方は,コンパイラや文法チェックソフトの…