タグ

Python-articleとPythonに関するhamastaのブックマーク (301)

  • [Python]: Python チュートリアル メモ2

    Guidoのメモ書きのメモ書き。(6章〜最終章まで。ほか) format strings は vars() を使うと楽。 >>> spam = "SPAM!" >>> egg = "EGG!!" >>> bacon = "BACON!!!" >>> "%(spam)s, %(egg)s, %(bacon)s" % vars() 'SPAM!, EGG!!, BACON!!!' ファイルライクオブジェクトは、そのままループにかけられる。 >>> from StringIO import StringIO >>> s 'SPAM!\nEGG!!\nBACON!!!' >>> s = StringIO(s) >>> for i in s: ... print i ... SPAM! EGG!! BACON!!! 例外はインスタンス化して送出する(されている)。 import os と書くのは、o

    [Python]: Python チュートリアル メモ2
  • [Python]: Python チュートリアル メモ1

    Guidoのメモ書きのメモ書き。(5章まで) 演算子はなくても、文字列リテラルは連結する >>> "spam" + "bacon" 'spambacon' >>> "spam" "bacon" 'spambacon' >>> spam, bacon = "spam", "bacon" >>> spam bacon ------------------------------------------------------------ File "<ipython console>", line 1 spam bacon ^ SyntaxError: invalid syntax スライスに代入できる >>> L = range(5) >>> L [0, 1, 2, 3, 4] >>> L[2:5] = L[:3] >>> L [0, 1, 0, 1, 2] >>> L[2:] = L[:4

    [Python]: Python チュートリアル メモ1
  • PythonアプリからTheSchwartz経由でメールを送信 - スコトプリゴニエフスク通信

    TheSchwartzの概要は分かってきたので、実践投入に向けてより実用的なコードを書いてみます。TheSchwartz::Worker::SendEmailを使ってメールの配信というのが、簡単そう、かつ切実に必要なので、これを試してみました。 まず、PythonとTheSchwartzを媒介するGearmanベースのTheSchwartzを用意します。基的には昨日言及したコードを利用し、データベースの設定だけ書き換えます。 # myschwartzd use Gearman::Worker; use TheSchwartz; use JSON::Any; my $j = JSON::Any->new; my $ts = TheSchwartz->new(databases => [{ dsn => "dbi:mysql:database=schwartz", user => "root

  • sh1.2 pyblosxom : pythonでデバッグ

    sh1.2 pyblosxom : pythonでのデバッグメッセージ の続き。 __LINE__やら__func__やらがなくても下記の方法を使えばデバッグできる。 tracebackモジュールを使う 下記のコードをデバッグしたい箇所に埋めこんでおけばスタックを表示してくれる。: import traceback; traceback.print_stack() 実際にはこんな感じになる。: import traceback def foo(l, n, str): traceback.print_stack() foo([1,2,3], 10, "hoge") で、これを実行すると、: % python foo.py File "foo.py", line 6, in <module> foo([1,2,3], 10, "hoge") File "foo.py", line 4, in

  • pythonのソースコードを読むコツのようなもの - maeda.na@はてな

    2007/09/20 追記。以下で色々頑張ってるようなこと全部IPythonで出来るみたい...orz まだまだ駆け出しなりに連日試行錯誤してわかってきたことがあるので書いておく。 これからpythonはじめる人とかの参考になればうれしい。 それは違うだろ?っていうpythonistaの方の突込みがあるとさらにうれしい。 道具重要!! pythonインタプリタ これがないと始まらない。 どうでもいいけどrubyのirbみたいに固有名詞は定義されてないのかな。 pydoc Javaでいうとjavadoc。perlでいうとperldoc。 inspect これの存在しってから劇的にコードの読み方が変わった。 pdb まだあんまり使ってないけど一応。 pythonインタプリタ rlcompleterとreadlineが使えるようにしておくのがお勧め。 import rlcompleter, re

    pythonのソースコードを読むコツのようなもの - maeda.na@はてな
  • MSC | 404

    404 Something's missing. Sorry, we can't find that page. You'll find lots to explore on the home page. Back to Homepage Location Beckman Institute (BI) 1200 E California Blvd Pasadena, CA 91125 Caltech

    hamasta
    hamasta 2007/09/16
    pdfとpptあり チュートリアル
  • Heretic Programmer(2007-09-08)

    @ [Trac]Pythonによる国際化プログラミング Pythonはgettextをサポートしているので、poを利用した国際化プログラミングが可能である。では、実際にやってみよう。hello.pyを作成する。 import gettext gettext.install("hello") print _("test") このスクリプトの実行結果は、 $ python hello.py test となる。gettext.install("hello")でコンテキスト名を指定すると、_関数で国際化されたメッセージを表示できるようになる。次にxgettextで国際化メッセージを作成するためのpoファイルを生成する。 $ xgettext.exe -k_ hello.py $ cat messages.po ... #: hello.py:4 msgid "test" msgstr "" ここで

  • Pythonで10進数計算したり数値を丸めたりする - Pyro Memo

    指定した桁で切り捨てたり四捨五入したり、2進数だと丸め誤差が生じる計算を正しく行うための標準ライブラリ。 from decimal import * x = Decimal("2.467") y = Decimal("3.512") # 小数点以下を切捨て print Decimal(x).quantize(Decimal('1.'), rounding=ROUND_DOWN) # 2 print Decimal(y).quantize(Decimal('1.'), rounding=ROUND_DOWN) # 3 # 小数点以下を切り上げ print Decimal(x).quantize(Decimal('1.'), rounding=ROUND_UP) # 3 print Decimal(y).quantize(Decimal('1.'), rounding=ROUND_UP) #

  • Test Page. Yoshifumi Tanaka

    Tcl/Tkではbmp,xpm程度しか図形表示ができないが、 libImagingを導入することにより、多くの図形が表示できる。 Imaging-1.1.5c1インストール rm -rf Imaging-1.1.5c1 tar zxf Imaging-1.1.5c1.tar.gz cd Imaging-1.1.5c1 python setup.py install で終り。 ライブラリ Imaging-1.1.5c1.tar.gz マニュアル pil-handbook.pdf 作成法 tar zxf Imaging-1.1.5.tar.gz cd Imaging-1.1.5 python setup.py build_ext -i python selftest.py testに合格すれば、suになって cp -r PIL /usr/local/lib/python2.4/site-pac

    hamasta
    hamasta 2007/08/21
    PILの使い方 長い記事
  • azito.com

    This domain may be for sale!

  • [メモ]Pythonによる英字の半角全角変換

    ↓これもっと簡潔できれいな書き方はないものだろうか。 from itertools import izip #半角英字->全角英字変換 HAN_CHARS = map(chr, range(ord('A'), ord('Z')+1) + range(ord('a'), ord('z')+1)) ZEN_CHARS = map(lambda x: unichr(0xff00 + x),range(0x21, 0x21+ord('Z')-ord('A')+1) + range(0x41, 0x41+ord('Z')-ord('A')+1)) def han2zen(word): """ Unicodeで与えられた文字列の半角英字を全角英字に変換する。 """ for c, cc in izip(HAN_CHARS, ZEN_CHARS): word = word.replace(c, cc)

  • PythonRecipe

    このページは、Rubyレシピブック (詳細) をPythonで書こうというたくらみです。内容は当たり前のことばかりですが、たまにしかコードを書かない人間は、こうしたことがわからなくてイライラしてしまいます。10行くらいのプログラムならさっと見てさっとかけるようにするのが目標です。 2008年1月21日19:00 ロボットによる荒らし対策を施しました。 レシピブック作成にご協力いただける方がいらっしゃいましたら、最初にユーザー登録をお願いします。 レシピブックを修正する際は、一度ログインをしてください。ログインすると右肩の部分に編集の項目が現れます。 記述方法は、structuredText もしくはreStructuredText でお願いできればと思います。 WEB上の情報 Python クイックリファレンス日語訳 pythonライブラリリファレンス pythonチュートリアル Per

    hamasta
    hamasta 2007/08/10
    Rubyレシピ in Python
  • Python で日本語を扱う基本をまとめてみるメモ(その2) - 猫(=・ω・=)顔 1.0β

    「その1」のまとめ ⇒Python で日語を扱う基をまとめてみるメモ(その1) - (=・ω・=)顔 1.0β 1行めか2行めで # coding: 〜 を指定する。 '' は通常の文字列。保存した形式のままの「バイト列」。 u'' は Unicode 文字列。多バイト文字環境で1文字を1文字として扱うために必要。 通常の文字列から Unicode 文字列への変換は unicode() 関数を使う。 今日のお題 unicode() 関数をもうちょっと探る Unicode 文字列を作る別の方法 文字コードの変換方法 (1) Unicode 文字列から任意の encoding へ 文字コードの変換方法 (2) encoding-A から encoding-B へ unicode() 関数をもうちょっと探る 前回のおさらい。 以下、通常の文字列(バイト列)は、メンドクサイから全部 euc-

    Python で日本語を扱う基本をまとめてみるメモ(その2) - 猫(=・ω・=)顔 1.0β
  • Pythonでwget « KAMOME LOG

    Linuxにはwgetというコマンドがあります。 $ wget http://hoge.com/hoge.zip のように打つとダウンロードしてくれるので、スクリプトに組み込んで 複数のファイルを自動的に落としてきたりするのに役に立ちます。 winodowsにこのコマンドがあったらな~、といっても わざわざCygwin入れるのは面倒なので、Pythonでサクッと書いてみました。 細かいとこは省きますが、メインは標準モジュールの urllibのurlretrieveを使うと簡単です。 urllib.urlretrieve(url,filename) 後は、連番URLの展開など自分の欲しい機能を足していけば完成です。 私は、~/[2001-2300]/~のような連番展開を雑に実装して 300年分のデータをダウンロードできるようにしています。 ただし、相手のサーバーの負担になっては

  • Python で日本語を扱う基本をまとめてみるメモ(その1) - 猫(=・ω・=)顔 1.0β

    久々の Python ネタ! (=´ω`=)ノ 1ヶ月ぐらいかけてようやくこの: 速効!Pythonプログラミングバージョン2.5対応 作者: 上平哲出版社/メーカー: 秀和システム発売日: 2007/04/27メディア: 単行購入: 1人 クリック: 29回この商品を含むブログ (15件) を見るを読み終えた! 「EUC とか UTF とかのエンコーディング方法をキチンと処理するための Python の正しいお作法ってどうなの?」というのが知りたくてヨドバシの書籍コーナーでいろいろ物色してこのを選んだのだが、それがとても丁寧にかかれてて良かった。日語に関してだけじゃなく、全般的に例が多くて丁寧。言語仕様からこういう結果になる、という説明じゃなく、こう書くとこういう理由でこう動く、という事例オリエンテッドな感じで Python 初心者な自分には読みやすかったっす。 っつーことで、以

    Python で日本語を扱う基本をまとめてみるメモ(その1) - 猫(=・ω・=)顔 1.0β
  • matplotlibを使う

    pythonのグラフ描画ライブラリであるmatplotlibで日付ごとにプロットするサンプル。 from pylab import * from matplotlib.dates import MONDAY, WeekdayLocator import datetime start_date = datetime.date(2007, 5, 1) end_date = datetime.date.today() delta = datetime.timedelta(days=1) mondays = WeekdayLocator(MONDAY) dates = drange(start_date,end_date,delta) s = rand(len(dates)) + 85 t = rand(len(dates)) + 80 fig = figure() ax = fig.add_su

    matplotlibを使う
  • extbody -- Blog&News本文領域抽出ツール

    ダウンロード等 extbody-0.1.1.tar.gz(右クリックで保存) ライセンスは、Apacheライセンスv2.0なので自己責任でご利用ください。 (上記ファイルはMercurialリポジトリのcloneにもなっています。) 動作に必要な環境 Python2.5 feedparser chardet また、内部でppkfを使用しております。(extbodyに内蔵しております。) インストール feedparserと、chardetをインストールしておきます。 以上が準備できれば、extbodyも以下のコマンドでインストールできます。 % python setup.py install 使用法 ayu@~% python Python 2.5.1 (r251:54863, Jun 17 2007, 08:50:55) [GCC 4.0.1 (Apple Computer,

  • 2007-08-02

    昨日のCAIAFは機能面での意味から名前を付けたが、少々長いし覚えづらい。 結局、 関数内のネストした関数の中で関数の外の変数(intなど)が再結合できない 関数の呼び出し側の階層で関数の中の変数が参照できない のを、 ダミーの関数の中に変数や関数などの属性を詰め込んで、それを介してアクセスする というのがCAIAFのアプローチである。 アプローチの面から命名すると、(ダミーの)関数を名前空間として利用して、インスタンスの概念も有するということなので、namespace function object(名前空間関数オブジェクト)と命名することにした。これなら覚えやすい。 関数内のネストした名前空間で、外側の関数の変数の参照は可能だが、再結合は不可能。可変オブジェクトなら内容を書き換えるのに参照のみで再結合の必要ないので、内容を変更可能。しかし、intみたいに不変オブジェクトは参照は可能だが

    2007-08-02
  • BlogSlime – Just another WordPress site

    コンテンツへスキップ 登録は無効化されました。

  • BlogSlime – Just another WordPress site

    コンテンツへスキップ 登録は無効化されました。