タグ

Pythonとpythonに関するWackyのブックマーク (1,422)

  • 2007-12-14 - import nowhere

    山下たつをさんの転置インデックスによる検索システムを作ってみよう!のコードをPythonで真似してみました。Python2.5じゃないと動きません。 ファイルフォーマットや使い方はそのままですが、フォーマット検査をちゃんとやってないです。正規表現のキャプチャ、Pythonでも簡単に書けないかなぁ。 index.py #!/usr/bin/env python import sys, codecs from collections import defaultdict sys.stdout = codecs.getwriter("utf-8")(sys.stdout) index = defaultdict(lambda:list()) num_docs = 0 for line in sys.stdin: doc = line.decode("utf-8").strip().split("

    2007-12-14 - import nowhere
    Wacky
    Wacky 2009/08/24
  • Tkinter入門 - 強火で進め

    とりあえずこれだけの記述でウィンドウが表示できます。 # -*- coding: utf-8 -*- from Tkinter import * root = Tk() root.mainloop() ウィンドウのタイトルは title() メソッドで設定します。 # -*- coding: utf-8 -*- from Tkinter import * root = Tk() root.title("title") root.mainloop() unicodeを使用することで日語も問題なく使えます。 # -*- coding: utf-8 -*- from Tkinter import * root = Tk() root.title(u"タイトル") root.mainloop() geometry() メソッドでウィンドウサイズの指定ができます。 # -*- coding: ut

    Tkinter入門 - 強火で進め
    Wacky
    Wacky 2009/08/21
  • subprocessの互換性向上

    【1.1】   ユニコードで楽チンとはいかない 引数リストを渡す仕様ですが、 すべての要素がプラットフォーム依存のstr型に変更済みであることを期待しています。 unicodeインスタンスを含む場合、 あらかじめ「sys.getfilesystemencoding()」でエンコードしましょう。 【1.2】   自然終了しないプロセスをkillできない 扱う外部アプリケーションによっては強制的に終了させたい時があるのですが、 そのあたりのサポートがなく、プラットフォームごとに違う方法でkillしなければいけません。 当然タイムアウト処理なんかもサポートしていません。 【1.3】   パス名にダブルクオーテーションが含まれるとトラブる 基的にシェルベースでしかダブルクオーテーションは必要ないので、 引数リストという渡し方でダブルクオーテーションが無用なのは理解できます。

    Wacky
    Wacky 2009/08/21
    subprocessモジュールは既存のpopenシリーズよりもクロスプラットフォーム互換を狙ったものですが、まだ少し問題が残っています。
  • ctypesの三つのロード方法 - 0xfeeb - endless loop

    ctypesではDLLのロード方法が三つある。 cdll、windll、oledllの三つだが、その違いはcallされた時のスタックの扱いと、戻り値だ。 ややっこしいのでまとめてみる。 cdllで呼び出すべき関数 cdecl呼び出し規約に従う intを返す windllで呼び出すべき関数 stdcall呼び出し規約に従う intを返す oledllで呼び出すべき関数 stdcall呼び出し規約に従う HRESULTを返す cdeclとstdcallの違いは、Wikipediaが詳しい。 呼出規約 - Wikipedia 要は、引数をスタックにpushして関数を呼び出すのは同じだが、そのスタックを元に戻す責任があるのが、呼び出された関数側なのか、呼び出した側なのかの違い。

    ctypesの三つのロード方法 - 0xfeeb - endless loop
    Wacky
    Wacky 2009/08/19
    ctypesではDLLのロード方法が三つある。cdll、windll、oledllの三つだが、その違いはcallされた時のスタックの扱いと、戻り値だ。
  • ctypesで関数ポインタを扱う - 0xfeeb - endless loop

    ctypesを使うとDLLが呼び出せることを前に書いた。 こんな感じで。 from ctypes import * user32 = windll.user32 user32.MessageBoxW(0, u'Python ctypes test', 0, 0) ctypesの便利さはこんなものじゃない。 Pythonの関数を関数ポインタのように扱って、callback関数にしたり、CreateThreadしたりできる。 from ctypes import * user32 = windll.user32 kernel32 = windll.kernel32 def callbackFunction(): user32.MessageBoxW(0, u'MessageBox from callback function', 0, 0) return 0 functionType = CF

    ctypesで関数ポインタを扱う - 0xfeeb - endless loop
    Wacky
    Wacky 2009/08/19
    ctypesの便利さはこんなものじゃない。Pythonの関数を関数ポインタのように扱って、callback関数にしたり、CreateThreadしたりできる。
  • » python cursesでTUIプログラミング: エスキュービズム ラボ Blog

    次々と新しい技術が生まれては消えてゆくこのご時世ですが、 基に立ち返り黒い画面を見つめ直そう、ということで、 python cursesによるTUI(Text User Interface)プログラミングを練習してみました。 curses とは まずは、軽く curses とは何ぞや?という話をいたしますと、 Unix や Linux に備わっている端末の出力を動的に制御できるAPIをcursesといいます。 CUIプログラミングをした場合、普通は 「出力をすると」 いえば、 標準出力を使って上から下にだーーーーっと出力を流すものですが、 cursesを使うことで、例えば vi のような、アプリケーションっぽい出力を行うことができます。 参考) Wikipedia - Curses どんなことが出来る? 黒い画面だからとナメちゃいけません。 座標は、細かくても (

    Wacky
    Wacky 2009/08/14
  • はてなブログ | 無料ブログを作成しよう

    思いは言葉に。 はてなブログは、あなたの思いや考えを残したり、 さまざまな人が綴った多様な価値観に触れたりできる場所です。

    はてなブログ | 無料ブログを作成しよう
    Wacky
    Wacky 2009/08/12
  • DDEで遊んでみる。 - ペンギンと愉快な機械の日々

    DebianDebian Data Exportというのがあるようだ。配布資料は無いし、スライドは小っちゃくて見えないので、とりあえず勝手に遊んでみる。取り合えず、apt-fileの情報を取るというURIで、dashを引数で渡してみる。 $ curl http://dde.debian.net/dde/q/aptfile/byfile/sid-amd64/dash html>body> h1>Packages containing dash/h1> p>Value:/p> pre> ['dash', 'debian-edu-config', 'sauerbraten-data'] /pre> ol> /ol> p>a href='http://dde.debian.net/dde/q/aptfile/byfile/sid-amd64'>Go up one level/a>/p> /body

    Wacky
    Wacky 2009/07/29
    Debian Data Exportというのがあるようだ
  • Shibu's Diary: 外部から停止可能なXMLRPCサーバ(Python2.X用)

    渋日記@shibu.jp 渋川よしきの日記です。ソフトウェア開発とか、ライフハックを中心に記事を書いていきます。 taken by saschaaa (under CC) XML RPCで最近良く遊んでいます。ぱっとサーバを立ち上げて、インタラクティブモードでクライアントを起動して、すぐにメソッドを呼び出したり、すごく便利です。dRubyみたいに、クライアントとサーバの区別なく使えて、コールバックもできて、オブジェクトも渡したりできるような仕組みと比べると低レベルですが、ちょっとした通信では結構便利です。 ですが、標準のSimpleXMLRPCServerを使って分かったのは、Djangoのテストサーバの偉いところです。Ctrl+Cを押すとその場でぱっと止まってくれます。でも、自分でSimpleHTTPServer, SimpleXMLRPCServerなんかを起動すると、止まってくれませ

    Wacky
    Wacky 2009/07/26
  • MessagePackのPython Bindingをリリースしました : DSAS開発者の部屋

    MessagePack とは、古橋(id:viver)さんが開発された高速・高効率なバイナリシリアライズフォーマットです。詳しくは 古橋さんの日記 やプロジェクトサイト を見てください。 PythonからMessagePackフォーマットでSerialize/DeserializeするためのPythonパッケージを作ったので、取得方法と使い方について簡単に紹介します。 1. インストール msgpackという名前でPython Package Index (PyPI)に登録してあります。 <http://pypi.python.org/pypi/msgpack/> setuptoolsをインストールしている環境では、 $ easy_install msgpack でインストールすることができます。 Windowsでインストールする場合は、PyPIのパッケージサイト からインストーラをダウン

    MessagePackのPython Bindingをリリースしました : DSAS開発者の部屋
    Wacky
    Wacky 2009/07/20
    MessagePack とは、古橋(id:viver)さんが開発された高速・高効率なバイナリシリアライズフォーマットです
  • PyGainer - Python with Hardware | Google グループ

    Wacky
    Wacky 2009/07/20
  • GAE 1.1.3 の zipimport は py_zipimport

    GAE 1.1.3 + zipimport + setuptools appengine-monkey + zipimport の合わせ技で Pylons 0.9.7 を動かそうとしたのだが、うまくいかない。 setuptools が entry points を探しに行く段階で、以下のように怒られてしまいます。 Error loading application: Traceback (most recent call last): File "/base/data/home/apps/bia-hanoi/2.23/paste-deploy.py", line 51, in app = loadapp(CONF_FILE) File "/base/data/home/apps/bia-hanoi/2.23/lib/python2.5/site-packages/PasteDeploy-1

    GAE 1.1.3 の zipimport は py_zipimport
    Wacky
    Wacky 2009/07/20
    GAE 1.1.3 の zipimport は py_zipimport で、py_zipimport は_zip_directory_cache をサポートしていないということでしょうか。
  • Djangoチュートリアル(前編)

    はじめに 近年、Webアプリケーション開発で用いるプログラミング言語として、Lightweight Language(以降LL)と呼ばれるスクリプト言語が人気を博しています。稿では、そのスクリプト言語の中からPythonとWebアプリケーションフレームワークのDjango(ジャンゴと読む)を紹介します。 Pythonの大きな特徴として、「言語仕様が小さくシンプルであり、簡潔で読みやすいアプリケーションを作れる」という点が挙げられます。DjangoPythonの簡潔さをうまく活かし、シンプルかつ格的な開発ができるWebアプリケーションフレームワークです。稿ではこのDjangoによるアプリケーション開発の基をチュートリアル形式で説明します。 対象読者 PythonによるWebアプリケーション開発に興味がある方 日頃、PerlRubyPHPJava、C#などPython以外のプロ

    Djangoチュートリアル(前編)
  • http://japan.internet.com/developer/20090707/26.html

    Wacky
    Wacky 2009/07/08
  • Python 3.0開発者ガイド:数値、文字列、データ

    このシリーズでは前回に引き続き、Python 2.xとPython 3.0の違いを詳しく比較します。バージョンの変更により、Python 3.0のデータ型に重要な(下位互換性のない)変更が行われました。今回は、Python 3.0における数値、文字列、バイナリデータの基データ型の処理についての解説をとおして、データ型の変更がどのようにコードに影響するかを説明します。 はじめに このシリーズの第1回では、コア言語と型システムの重要な変更点について解説しました。今回は、Python 3.0における数値、文字列、バイナリデータの基データ型の処理を中心に説明します。 これまでの連載 Python 3.0開発者ガイド:コア言語の変更点 PEP 237:長整数型と整数型の統合 Python 2.xには、intとlongの2つの整数型がありました。int型は、マシンの「ネイティブ」ワードサイズ(現在

    Python 3.0開発者ガイド:数値、文字列、データ
    Wacky
    Wacky 2009/07/04
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    Wacky
    Wacky 2009/07/04
  • Flashツール全てをGoogle App Engineへ移動 - にやにや製作:GoogleMapとGPSを自転車で使う

    とりあえず容量500MBを利用するだけに使ってみる 公開しているGPS用のFlashツールを全てGoogle App Engine上に移動しました。 GMM2まとめサイトのその他GPSツールの欄にあるそれです。 GPSツール GMM2.exe まとめサイト これまで宣伝の入らないプロバイダのサーバは容量が5MBしかないため、旧バージョンのアプリを併存させることが出来ませんでしたが、これで容量を気にせず使えるようになります。 以下、FTPサーバ上に展開してきたFlashリソースをGoogle App Engineへ移動した際の手順をメモ ファイル置き場として使うだけなら、特にPythonでアプリを用意する必要はありません。 環境:Google App Engine Google App Engineで開発を始めるにあたり、そろえた環境は以下 統合環境:eclipse 3.4

  • 2009-06-15

    仕事と関係ないことをしていないということは、仕事以外していないということと同じである。そんな人生はいやだ。というわけで、ルータやスイッチから離れてpython書いてるときなどは「motieはIT屋でありかつ仕事中でない」が成り立つ貴重な瞬間。 まえに大学のサーバに上げていたwikiのメモ書きを書き直して上げていこう*1。 *1:いろいろとやってたら各記事が個別のタイトルになってしまった。リンクで飛ぶにはまず日付リンクを踏まなきゃいけない仕様に。wikiの代わりにするのはなかなか難しい。 続きを読む pythonとは直接関係ないケド、はてなダイアリーはシンタックスハイライトの機能を実装している。 >|python| # -*- coding: utf-8 -*- def main(): print "hello, spam!" return 1 if __name__=="__main__"

    2009-06-15
    Wacky
    Wacky 2009/07/04
  • DjangoでテンプレートエンジンにGenshiを使うメモ(2) - やさしいデスマーチ

    先日紹介したDjangoのテンプレート機能を用いた場合、単純なGenshiのテンプレートは動作するのですが、現在のバージョン(0.5)では XIncludeがうまく動作しません。GenshiにもTemplateLoaderがあるのですが、XIncludeを行うとGenshiの TemplateLoaderから読み込もうとして、読み込めないのが原因のようです。 そこで、最初にGenshiをDjangoで使うためのコードを紹介します。紹介といっても、ドキュメント内のレシピを紹介するだけですが。 ドキュメントでは、http://genshi.edgewall.org/wiki/GenshiRecipesのUsing Genshi with Django にずばり書いてあります。リンク先はmakoとGenshiを使うためのコードが紹介されているので、これを取り込みましょう。django_gensh

    DjangoでテンプレートエンジンにGenshiを使うメモ(2) - やさしいデスマーチ
    Wacky
    Wacky 2009/06/29
  • テストの実行 - IronPython で .NET モジュールをテストする

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 June 2009 Volume 24 Number 06 テストの実行 - IronPython で .NET モジュールをテストする James McCaffrey | June 2009 コードは MSDN コード ギャラリーからダウンロードできます。 オンラインでのコード参照 目次 テスト対象のモジュール アドホックな対話型モジュール テスト 軽量モジュール テストの自動化 まとめ Python スクリプト言語は、ある種のソフトウェア テストの実行に最適な機能を備えています。Python には、Cpython や IronPython を含む使用できる実装がいくつかあります。CPython は UNI

    テストの実行 - IronPython で .NET モジュールをテストする