こんにちは、chihiroです。今回はPythonのテンプレートエンジンを紹介したいと思います。 Pythonを使い始めた頃、PHPのSmartyや、JavaのVelocity/FreeMarkerに相当するテンプレートエンジンとして、Pythonにはどんなものがあるのか、どれを使えばよいのかよく分からなかった経験があるので、これからPythonを始める方の参考になれば幸いです。 テンプレートエンジンを使う目的の一つに、Webサイト構築・運営の容易化ということがあると思いますが、今回はテンプレートエンジンの性格をざっと紹介したいと思いますので、HTMLの出力ではなく、次のような単純なテキストの出力を例にとって話を進めていきます。 * Hello unoh!! ** Unoh services - photozou - eiga seikatu - video pop - sugu.cc C
janome を使った Python プログラムを pyinstaller で EXE 化するとき Tkinter でも、見た目のよい GUI を作れる のあと、CustomTkinter を使って WordCloud を書き出すアプリを作ってみた。Janome ではじめるテキストマイニング など参考にした。出力結果Python をインストールしていない環境でも実行できるように、pyinstallerを使って EXE 化したのだが、"pyinstaller --onefile app.py" で EXE 化すると、実行時にエラーが出てしまう。FileNotFoundError: [Errno 2] No such file or directory:'C:\\Users\\kugutsu\\AppData\\Local\\Temp\\_MEI255482\\janome\\sysdic\\
ずっと使ってなかったここを使うか。 Pythonの練習をかねて、Twitterのダイレクトメッセージを受け取り、Wikipediaを調べて返信するロボットユーザを作ってみました。下にソースを載せます。 Python2.4+elementtree or Python2.5で動いてます。 実際のロボットはこちら。 http://twitter.com/twipediajp 使うには、上のユーザをaddした後、反対にaddされるのを待ってください。add通知が来たら「d twipediajp 調べたい言葉」のようにDMを送信します。 http://wikipedia.simpleapi.net/を利用しています。過負荷にならないよう、1分に30回までにしてローカルにキャッシュもしています。 思ったこと。 DMのやりとりをするには互いにaddしてないといけない。addされた時に自動でaddしかえす
どうしてプログラマに・・・プログラムが書けないのか? まぁ、結構短くできたかもー?(甘い) 普通に解いたらこんな感じか…しかし条件分岐が多すぎてだめだなぁ。これは。(range関数の引数を訂正しました「range(100)」→「range(1,101)」) for i in range(1,101): if not(i%15): print "fizzbuzz" elif not(i%5): print "buzz" elif not(i%3): print "fizz" else: print i 短く。(三項演算子使用につきpython2.5以上ですいません) for i in range(1,101):FizzBuzz = (""if(i%3)else"Fizz")+(""if(i%5)else"Buzz");print FizzBuzz if FizzBuzz else i あ、一
November 16, 200520:03 OS X で画面録画(VNC2SWF) カテゴリ技術ネタ にぽたんが10分で作る Sledge アプリで Windows 上で Wink を使ってたのですが、使い慣れた OS X だったらもっと速いはずと思って OS X で画面を録画する環境を作ってみました。 OS X での録画はVNC2SWF というツールで録画出来ます。 VNC サーバとしゃべって、SWF にしてくれてるみたいです。 * 以下、手順のメモ まずは、OS X が VNC サーバとして動く事が必要なので、OSXvnc をインストールします。 http://www.redstonesoftware.com/vnc.htmlからダウンロードして /Applications にコピーするだけで OK です。 VNC2SWF には Python 版と C 版があるようなのですが、今回は
はじめに この記事は、Curses Programming with Pythonの日本語訳です。 PythonにおけるCursesプログラミング A.M. Kuchling (amk@amk.ca), Eric S. Raymond (esr@thyrsus.com) 概要 この記事は、Python 2.xでテキストモードのプログラムを記述する方法について述べています。ディスプレイの制御には、curses拡張モジュールを使います。 この記事は、http://www.python.org/doc/howtoのPython HOWTOで読めます。 目次 1 cursesとは何か? 1.1 Pythonのcursesモジュール 2 cursesアプリケーションの起動と終了 3 ウィンドウとパッド 4 テキストの表示 4.1 属性と色 5 ユーザからの入力 6 より詳しい情報 この記事について.
どうも、ご無沙汰です。 このブログをはじめた当初は「1日1エントリー公開しよう」 などともくろんでいたのですが、はやくも2週間以上間が空いてしまいました。 今回の話はCPythonにバージョン2.4から追加された機能についてです。 みなさんは、例えば「タプルの入ったリストを、そのタプルの2番目の要素でソートしたい」とか 「Entryオブジェクトのリストを、その属性updateTimeの値に従ってソートしたい」という場合、 どうしていますか? まずは2.3以前から可能だった 「sortメソッドに比較用の関数を渡す方法」の実行にかかる時間を調べてみます。 # sortメソッドに比較用の関数を渡す方法 d.sort(lambda x, y: cmp(x[1], y[1])) 実行時間の測定にはtimeitモジュールを使います。 (10.10 timeit -- 小さなコード断片の実行時間計測)
Python Performance Tips このページはPythonプログラムの実行効率を改善するさまざまなTipsやトリックの紹介に特化しています。誰から得た情報であっても、その情報源を紹介するつもりです。 "fast python"ページをはじめて書いた1996年以降も、Pythonは著しく変化してきました。このことは、幾つかの規則も変化しているということを意味しています。そこで、他の誰かがこのページのメンテナンスを手伝ってくれるという期待をもって、ページをPython wikiに移動させました。 注意:これらのTipsはいつでも、読者のアプリケーションや、実際に使用するバージョンのPythonで盲目的に受け入れるだけでなく、実際に試してみることができます。 これらの新しく独自に書かれたパッケージ、例えば Pyrex 、 Psyco 、 Weave や PyInline のようなも
キャンプには参加したいけど、内容が濃すぎてちょっと...、という初心者向けのプログラムです。 今回は講師が決めたテーマを参加者が選ぶというやりかたを逆転させ、事前に参加者が決 めたテーマを講師の方が選ぶという方法をとりました。 プログラムリーダー:森 さん、西尾 泰和 さん 内容 Python基礎 スタートプレゼン(GoogleVideo) [AVIミラー:(nyusuke)(smzkw)(nakaj)] ※mpeg4が再生できる環境が必要です 「モジュール」 講師:小林 憲次さん 概要: python の名前空間:辞書を vars(..) を使って調べながら、モジュールに跨る変数や関数のアクセスする様子を示します。 help(.), dir, .__dict__ といった道具によりモジュール/クラス/関数を調べます。 Enthought/Acitive Python ディスト
先週の金曜日、弊社の 竹迫、 鶴岡 と共に 弾さんのお宅で行われた Hackathonに参加しました。 内容に関しては YappoLogs: YAPC::Asia Hackathon at Dan the hotelが詳しいです。 新人研修にかまけて記事にせずに放置していたところ TokuLog 改め Perl を極めて結婚するブログ - missile on ruby.でリークされてしまいましたが、ワンライナーで作りました。 下のコードを実行すると、動作テストとして三三七拍子を奏でた後、 インタラクティブに操作できるモードになります。 [globals().__setitem__("COMMAND",{'right':[8,0,0,0,0,0,0,0],'d':[2,0,0,0,0,0,0,0], 'f':[16,0,0,0,0,0,0,0],'fire':[16,0,0,0,0,0,0
注意 この記事は、id:SumiTomohiko:20070119:1169220734の続きです。 入力値検証 今回は、フォームで入力された値を検証する機能を追加します。検証には、ウィジェットを使用します。ウィジェットのフィールドには、ヴァリデータを設定することができるのです。また、「その4」ではウィジェットは使うたびに生成していたのですが、入力値検証ではインスタンスが必要なので、その点も修正します。 作成するウィジェットは2種類あります。登録画面のフォームのウィジェットと、編集画面のフォームのウィジェットです。これら2つには、以下の違いがあります。 編集画面には、編集対象のレコードを保持するidフィールドがある。登録画面にはない。 登録画面の遷移先は/doaddであり、編集画面の遷移先は/doeditである。 これら以外の共通点は基底クラスでまとめ、差異だけ派生クラスで実装します。 ま
2007/04/09 OSのファイルシステムに統合され、Windows上からは通常のフォルダとして扱えるオンラインストレージサービス「Dropbox」の詳細が明らかになった。Dropboxは、複数のPCから同一フォルダが扱えるだけでなく、バックアップや変更履歴管理、ローカルファイルシステムと完全な透過性を備えた高機能なオンラインストレージサービスだ。 rsync、trac、subversionのいいところ取り 「ほかのオンラインストレージや同期サービスは、どれも使うのが面倒だったり、十分にスケールしなかったり、あるいは何か制限があったりするので不満だった。それじゃあということで、自分たちで、まともなものを作ろうと決めた」。DropboxのCEOで開発者のDrew Houston(ドゥリュー・ヒューストン)氏は@ITのメールインタビューに答え、開発の動機をそう語る。マサチューセッツ工科大学で
こんにちは!4月から入社したYet Another Sakatoku、酒徳千尋です。今まで同じクラス、同じ職場に別の「酒徳さん」がいるのを経験したことがないので不思議な気分です。 ウノウでは新規サービスの開発を担当することになったのですが、言語やフレームワークの選択は開発者に任されているということなので、PythonとDjangoの組み合わせで開発を始めることにしました。 PythonでのWeb開発は、日本ではまだメジャーではないと思うので、このウノウラボでtipsや、ライブラリ・フレームワークの使い方を紹介できればと思います。 今回は、僕が入社してから最初に行ったPython開発環境のセットアップについて書いてみたいと思います。 virtual-pythonで開発環境をつくる 開発にあたって様々なライブラリをインストールする必要が出てきますが、通常のPythonのホームディレクトリ、例え
PylonsのTracebackは凄いです。例外発生時のスタックフレームに対して、ブラウザ経由!で対話的にデバッグを行うことができます。DjangoのTracebackも親切だと思いましたが、Pylonsには及びません。 実例を紹介します。RSSフィードを返すアクションの実装中、当てずっぽうで書いたので、案の定、例外が発生しました。 例外の発生箇所のツリーを開いて、該当フレームの情報を確認します。 feed.writeというメソッドの使い方がよく分からないので、おもむろに、help(feed.write)を実行します。 ヘルプが表示されました。引数encodingを指定していなかったから例外が発生したということが分かります。 元のコードを修正する前に、対話的シェルから、encodingを指定してfeed.writeを呼んで、出力結果を確認してみます。繰り返しますが、下の操作はブラ
pydevcamp2007w のライトニングトークで作ったエディターです. 少し手を入れたのでHGで晒しときます. http://aodagx.ddo.jp/cgi-bin/hgwebdir.cgi/e10 取得するには, hg mercurial をご利用のこと. http://www.selenic.com/mercurial/wiki/ から入手できます. hg clone http://aodagx.ddo.jp/cgi-bin/hgwebdir.cgi/e10 実行にはPython, Qt, PyQtが必要です. それぞれ以下のサイトから入手可能. http://www.python.org http://www.trolltech.com http://www.riverbankcomputing.co.uk Windows版のPyQtバイナリが要求するPythonとQtのバー
KIRIN THE GOLDのほのかな苦味に満足しながら、なんだか明日も休みのような気分だなぁ、とか思っているbonlifeです。誰か私に木金2日間分の仕事パワーをください。 さてさて、最近Pythonに結構興味が出てきてしまったので、id:kenkitii:20060429:p1 にて公開されていたPythonで書かれたAtomAPIのクライアントとそのサンプルを参考にして、はてなグラフを更新するちっちゃなスクリプトを書いてみました。 まず、AtomClientはAtomClient.pyって名前にしてそのまま使わせてもらうことに。 AtomClient.py #!/usr/bin/env python # -*- coding: utf-8 -*- import random import datetime, time import base64, sha import httplib
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く