http://www.python.jp/doc/nightly/lib/built-in-funcs.html#l2h-56 http://www.python.jp/doc/nightly/lib/typesseq-xrange.html rangeは関数でxrangeはクラスなんだな.あんまり大した違いは無いと考えていいのか? >>> x = xrange(10) >>> x xrange(10) >>> for i in x: print i, 0 1 2 3 4 5 6 7 8 9 >>> x = range(10) >>> x [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> for i in x: print i, 0 1 2 3 4 5 6 7 8 9 >>> 余談:インスタントハッキングの問題 http://www.python.jp/pipermai
バイナリデータの定義 print "\xff" # 16進の0xff文字列 16進数を文字列に変換 from binascii import * x = "\xff" s = b2a_hex(x) print "%r"%s 文字列を16進に変換 from binascii import * s = "ffffff" x = a2b_hex(s) print "%r"%x for c in x: print "%r"%c 比較演算子をつなげて使う timer = 0 while True: print "%d:"%timer, if 0 <= timer < 1: print "Init" elif 1 <= timer < 10: print "MainLoop" else: print "Finish" break timer += 1 enumerateでインデックスと値を同時に取る
■[Python]Pythonでの整数の除算 Pythonで小数点以下の切り上げ処理で意図しない結果が返ってきて、ちょっと悩む。 >>> import math >>> math.ceil(15/10) #2.0を期待 1.0 原因を調べてみると、Pythonリファレンスマニュアルに、次のようにある。 / (除算: division) および // (切り捨て除算: floor division) は、引数間の商になります。数値引数はまず共通の型に変換されます。 整数または長整数の除算結果は、同じ型の整数になります; この場合、 結果は数学的な除算に関数 `floor' を適用したものになります。 つまり、現行のPythonでの整数同士の除算は、小数点以下が切り捨てられて結果も整数になる。上記の例だと、15/10の結果は1になるので、ceilの結果も当然意図しないものになる。 この仕様は将
チケット便利!と思いつつ、原稿整理に使うのにcomponent1とか、defunctとかはないだろうと思ったので、管理機能たるwebadminというプラグインを入れてみる。例によって Win32 環境の Apache2+mod_python 2.3系+trac 0.9.3 が前提となっとりますが、他の環境でもそんなには変わらないでしょう。英語を気にしない人は http://projects.edgewall.com/trac/wiki/TracModPython http://projects.edgewall.com/trac/wiki/TracPermissions http://projects.edgewall.com/trac/wiki/WebAdmin http://projects.edgewall.com/trac/wiki/TracPlugins の四つを読んでおけば問題
やりかたはいろいろあると思いますが、Win32環境の場合、たとえば Python ディレクトリで python Scripts\trac-admin c:\home\ishigaki\trac\cocktail initenv python Scripts\trac-admin c:\home\ishigaki\trac\perl initenvしてあるとしたら、Apache2 の httpd.conf で <Location /trac/cocktail> SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonOption TracEnv c:/home/ishigaki/trac/cocktail/ PythonOption TracUriRoot /trac/cocktail </Location>
Cheerypy チュートリアル Remi delon October 13, 2003 Copyright © 2002 Remi Delon <remi@cherrypy.org> All rights reserved. ライセンスと使用許諾情報のすべてについては、このドキュメントの終わりを見てください。 Abstract: CherryPyは動的なウェブサイト開発のためのpythonベースのツールです。これはたくさんのパワフルなコンセプトを一緒に使い、そのコンセプトはウェブサイトの開発へのアプローチをユニークなものにします。 CherryPyはアプリケーションサーバーとコンパイラの中間に位置します。あなたはソースファイルを記述し、これらをCherryPyを使ってコンパイルし、そしてCherrypyはウェブサイトを実行するためのすべて(HTTPサーバを含む)を含んだ実行ファイルを生成
これはリンク切れしていた西尾泰和さんによる過去(2004年頃)の記事を復活させたものです。 (同じ記事が西尾さんのサイトでも復活する予定だそうです。) 1時間で覚える?Python これは一時間で覚える Rubyに触発されて作ったページです。 まぁ、実際に一時間で覚えられるかどうかはさておき、 「一時間で覚えられる」と言われると普段 「ちょっと勉強してみたいけど時間が…」と言い訳している人が見てくれるので悪くないかな、と。 筆者も前から勉強したかったRubyが24分で勉強できましたし(覚えられたかどうかは別) なお、まったくのプログラミング初心者が1時間でわかるようになるとは保証しかねます。 まともなオブジェクト指向言語を何か一つ理解していれば大丈夫だとは思いますが。 とりあえず、ここへ来たまったくのプログラミング初心者の方は「Pythonはパイソンと発音する」というのだけは覚えて帰ってく
故あってTurboGearsを使ってみたんだけど,うーん,これはいいや。 私のホームグラウンドであるZope/Ploneと比べて,雑感についてざっくりと書いてみます。 薄れるZODBの優位性 ZopeといえばZODB。Zopeはオブジェクトデータベース内蔵なので,別途RDBMSを立てたりする必要なく,Webアプリで利用するデータを保存できる。オブジェクトデータベース自体にはPythonのクラスインスタンスそのものが保存される。テーブルを定義する必要がない。Pythonのクラスを書けばいい。ZODBの存在が「Zopeの価値」のかなり大きな部分を占めていると言っていいと思う。 一方,ここ数年激しく進むチープ革命と,PostgreSQLやMySQLなどフリーのリレーショナルデータベースの普及によって,RDBMS運用の敷居はものすごく下がっている。その上,TurboGears搭載のSQLObjec
Introduction to Python, COM and PythonCOM Table of Contents Introduction to Python, COM and PythonCOM Introduction to Python, COM and PythonCOM Section I What Is Python? Why Python? Most obvious and notorious features Pythonwin Interactive Python Variables and Types (1 of 3) Variables and Types (2 of 3) Variables and Types (3 of 3) Assignment versus Equality Testing Simple Data Types Simple Data T
今日はMSのReportingService周りをちょろちょろ調査するためにPythonでツールを作ってみた。 xml解析をちょろっと書いたんだけどふつーにsaxとか使えるのね。 こんな感じ import xml.parsers.expat # XMLファイルをパース def parseDocument(p,file): global fileName fileName = os.path.basename(file) f=open(file, 'r') p.ParseFile(f) f.close() def start_element(name, attrs): if name == 'xxx': a = attrs['xxxx'] a = a.encode('Shift_JIS') a = a.strip() print a def parse(file): p = xml.pars
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く