タグ

ブックマーク / inforno.net (9)

  • inforno :: Python2.6変更点まとめ

    Python2.6きましたね。ということで、自分用にも主な変更点メモ。なぐり書きなのでミス多いかも。個人的な注目部分は with文 multiprocessing itertoolsへのメソッド追加 ABCの導入 クラスデコレータの導入 ネットワーク系ライブラリ(http,ftp,telnet..etc)でタイムアウトが設定できるようになった。 あたりですかね。ではどうぞ。 Python 3.0由来の変更点 複素数へオブジェクトを変換する __complex__ メソッド。 例外補足のためのもう一つ書き方: except TypeError as exc build-inの reduce() に加え、 functools.reduce の追加。(3.0では reduce はfunctools経由でしか使えない) 3.0では他にもbuild-in関数に変更がある。3.0互換のコードを書きたい

    Wacky
    Wacky 2008/10/11
  • inforno :: Python標準モジュールでRakeもどき

    誰もが一度使うと便利さと気軽さに感動するRubyが誇るライブラリ、 Rake 。 プログラムのビルドもそうなんですが、雑多なタスクを簡単に書けて、整理できるのがなんといっても魅力的。RailsなんかではDBの作成から何から、ばんばんRakeタスクにされていますよね。 さて、俺はPythonistasなので、PythonでRakeみたいなのがほしいわけです。ビルドに限っていえばPythonは Scons という素晴らしいツールがあります。C言語はおろか、JAVAPDF、PostScriptなどなど、さらにはSubversionもサポートしていますし、並列コンパイルもでき、実績も多数で申し分ありません。 でも俺がしたいのは、雑多なタスクを放り込む、コレ。そういうのを簡単にやるライブラリってPythonではないんでしょうか。RubyではRakeが標準添付されるというのに。いえ、あります。前から

    Wacky
    Wacky 2008/01/24
    distutilsはPythonの標準的なパッケージ配布システムとして有名です。でも実は自分でコマンドを定義してRakeのように使うことができることはあまりしられていないのではないでしょうか。
  • inforno :: Python版Yahooテキスト解析 APIライブラリ

    趣味プログラマやってるわけですが、最近はずっとC言語を書いています。やっぱCはいいですね。あと3Dモデリングに手を出し始めました。目指せ最強の器用貧乏。 というのは置いといて、Yahooのテキスト解析API出ましたね。これは便利そう。というわけで、Pythonのライブラリ置いておきます。 ダウンロード 使い方 ソースに書いてあるんですが、こんな感じです。 [python] import yahooapi.jlp as jlp client = jlp.MAServiceAPI("your_appid") result = client.parse(sentence=u"庭には二羽ニワトリがいる。", results= jlp.MA+jlp.UNIQ, filter = jlp.VERB + jlp.NOUN) print result.ma_result.word_list.word[0

    Wacky
    Wacky 2007/06/20
  • inforno :: PythonによるNESエミュレータ開発5

    もうすぐ引越しです。頑張って部屋を片付けないと・・・ しばらくドタバタすると思し、これ以上作りこむモチベーションもないので、ここまで作ったものをあげておこうと思いました。 ダウンロード pynes-0-0-1.zip 試し方 インストールはダウンロードしたzipファイルを展開するだけです。 必要なライブラリは psyco pygame です。 両方とも easy_install psyco 、`easy_install pygame` でインストールできたはずです。 roms/ 以下に最低1つ以上ロムファイルを置いてください。現状、マッパーに対応してませんので、マッパー0のしか動く可能性はありません。現在動作を確認してるのは、前回あげさせていただいた TkShoot くらいです。市販のはほとんど動かないんじゃないでしょうか。 一応参考までにあげておくと、動く可能性があるのはGolf,Don

    Wacky
    Wacky 2007/03/10
  • inforno :: Python版Lingr APIライブラリ

    最近はPythonとは言えエミュを書いているので16進数やら、アセンブラやら、パフォーマンスやらとお友達。 たまには富豪的に組みたいなー、ということで流行のLingr APIのライブラリ。Pythonってもうあるのかなあ。PHPやらPerlは一瞬で出ててびっくりします。 そんなたいしたものじゃないし、遊びついでで結構適当なんですけど、良ければどうぞ。 ダウンロード 使い方 ソースに書いてあるとおりなんですが。 [python] lingr = Lingr("your api_key") lingr.api.session.create() lingr.api.room.enter(id="room id", nickname="nickname") lingr.api.romm.say(message="hello!") lingr.api.room.exit() lingr.api.se

    Wacky
    Wacky 2007/02/11
  • inforno :: PythonによるNESエミュレータ開発3

    時間があればちょっとずつ続けてます。 とりあえず画面がでるようにはなりました。速度は全然追いつかないですけど。 CPU的には変化なし。細かいバグが多くて大変・・・・ わずかでも速くしたいところなので、あまり構造を壊さず速度を上げられないかな、と思ってPrefetch cueを実装してみました。Prefetch cueはCPUの非常に基的な最適化で、基的故に単純、実装しても負荷になることはないだろう、ってことですな。 エミュレーターでは(とくにPythonでは)ハードウェアでいうメモリが遅いうんぬんとは別の理由で、メモリアクセスはかなり重い処理になります。 1def memory(self, addr): 2 if addr < "RAMの範囲": 3 self.ram[addr] 4 elif addr < "メモリマップドIOの範囲": 5 self.io.read(addr)

    Wacky
    Wacky 2007/02/04
  • inforno � PythonによるNESエミュレータ開発1

    正月だというのにひたすらCPUの命令を実装・・・。ここはひたすら地道な作業が続く。やっぱりこういう単純作業は苦手だ・・・ 実装の際には InfoNES や 6502 Emulation Package のソースコード、そして NES on FPGACPUのページ に大変お世話になりました。特にNES on FPGAのページは非常に分かりやすくまとめられていて助かりました。 実装方針は前にも書いたとおり「できるだけPythonっぽく」。着々とエミュレーターっぽくないソースが出来上がってきています(笑 エミュレータのソースコードというとそれはもう、C言語でマクロ全開、register指定、inline(もしくはstatic)で出力されるコードを極限まで速く、なんて感じですが全く逆です。分かりやすさ優先。とりあえず書いてみて、ダメそうなら諦めるか頑張ってチューニングするか考えよう。 今日までで

    Wacky
    Wacky 2007/01/14
  • inforno :: Python:Tkを使って気軽にコンソールアプリ?

    Windowsの小物はほぼPythonで作っているわけですが。 WindowsPythonをインストーラーを使ってインストールすると*.pyにデフォルトだとpython.exeを関連付けしてくれます。 これは非プログラマな人にプログラムを渡すとき非常に便利で、とりあえずPythonをインストールして、このファイルをダブルクリックしろ、というだけでオッケー。exe化して無駄な容量をわなくても大丈夫なのです。 んで、作るのはだいたいコンソールで実行するもの。 これがダブルクリックで実行できるのはいいんですが、当然、プログラムが終了するとウインドウ(DOSプロンプト)が閉じちゃうから結果が見れない。 いちいちDOSプロンプトから実行するのもめんどくさい。しかも見た目的に非プログラマにはいかつい。 なんとかならないかなー、と思ってTkを使ってコンソールアプリを作るためのライブラリを作っ

    Wacky
    Wacky 2007/01/01
  • inforno :: Python:バイナリでコンソールを表示しないようにするには?

    Pythonのコードをwindows用exeにするには当然、 py2exe を使います。 で、そのとき、 1python setup.py py2exe --windows とすれば、コンソールを表示しないようにできます。 これはもう古いやり方で、現在のバージョンのpy2exeでは動きません・・・。現在はターゲットファイルの拡張子を.pywにする、もしくは windows = [{'script' : 'script.py', "icon_resources": [(1,"script.ico")]}] というオプションをsetupに渡す、という方法になっています。 今日、昔py2exeで作ったファイルが出てきたんですが、困ったことにpythonのソースファイルはない。いや、別に改良とかもうしないしいいんだけど。 ふと起動してみるとGUI with console。かっちょわりい。 コンソ

    Wacky
    Wacky 2007/01/01
    python setup.py py2exe --windows とすれば、コンソールを表示しないようにできます。
  • 1