タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

tmpに関するnelnal_programingのブックマーク (11)

  • 9. Pythonデバッガ

    モジュールpdbPythonプログラム用の対話的ソースコードデバッガを定義します。(条件付き)ブレークポイントの設定やソース行レベルでのシングルステップ実行、スタックフレームのインスペクション、ソースコードリスティングおよびいかなるスタックフレームのコンテキストにおける任意のPythonコードの評価をサポートしています。事後解析デバッギングもサポートし、プログラムの制御下で呼び出すことができます。 デバッガは拡張可能です -- 実際にはクラスPdbとして定義されています。現在これについてのドキュメントはありませんが、ソースを読めば簡単に理解できます。拡張インターフェースはモジュールbdb(ドキュメントなし)とcmdを使っています。 デバッガのプロンプトは"(Pdb) "です。デバッガに制御された状態でプログラムを実行するための典型的な使い方は: >>> import pdb >>> im

  • 3. 正規表現を使う

    ここまでで、単純な正規表現をざっと見てきましたが、次は、どうやって Python の中で使うのかに話を進めましょう。 re モジュールは正規表現エンジンのインタフェースを提供し、正規表現をオブジェクト型にコンパイルして、マッチさせることを可能にします。 3.1. 正規表現のコンパイル 正規表現は RegexObject インスタンスにコンパイルされます。 このインスタンスは、パターン・マッチや文字列交換のような、様々な働きをするメソッドを持ちます。 >>> import re >>> p = re.compile('ab*') >>> print p <re.RegexObject instance at 80b4150> re.compile() に引数 flags を指定することで、特別な設定や文法の変更を実現するのに使われます。 使用可能な設定は後で見ていくことにして、ここでは例だけ

    nelnal_programing
    nelnal_programing 2007/11/01
    正規表現
  • CHALOW Search - hiChangeLog

    ■ 呼出し元の関数を調べる [python] 例えば以下のようにすれば、呼んだ関数が列挙される。 for record in inspect.stack(): print record[3], ■ MoinMoinを触った [python] MoinMoinを触ってみた。1.8.5。いい感じ。 ロクにマニュアルも見ていないが、身勝手な不満: (1)添付ファイルへのリンクがファイルと直接繋がっていない(その添付ファイルにまつわるページに行く) (2)添付ファイルリストが名前順であり、日付順にできない。 (1) この不満はviewメソッドの振舞にある:getメソッドが私の望む動作である。 同様に考える人は多いようだが、設計上の一貫性から、設定で変更というわけにもいかぬようだ。 [Moin-user] Changing default behavior on downloads. なので無理矢理

  • 構造体の目的と利用方法

    プログラムには必ず変数が存在しますが、データ管理には構造体が利用されます。 ユーザー定義型? VB では、構造体は「ユーザー定義型」と呼ばれています。 “ユーザー定義のデータ型”という意味でしょうか。 私は最初、これを見て、Byte 型や Integer 型のように、一定の範囲に定められた数値データ型を新しく定義するということなのか、と思いました。 しかし残念ながら、そういう意味ではありません。 VB には、組込型以外の数値データ型を新たに定義する機能はありません。 「ユーザー定義型」というよりも、「構造体」と呼んだ方が意図が明確で、わかりやすいでしょう。構造体の目的は、「複数のパラメータで構成されるデータ」を作ることです。 複数のパラメータで構成されるデータ ロールプレイングゲームを題材にたとえてみます。(ありきたりですが。)ゲームプログラムでも、キャラクターのデータは、やはり変数で管理

  • Python でファイルを読む

    [Home] [Setting up Mac OS X] [Python]: ファイルを読む [日語を使う] Python examples - ファイルを読む Python Tutorial にあまり書かれていなかった、「ファイルの読み方」について、例を示します。 対話形式で一行ずつ端末から読む 質問やプロンプトを出して、一行ずつ答えを端末から読む場合は、 raw_input() を使う次の方法が簡単です。 name = raw_input('Enter name: ') print name 標準入力(stdin)から一行ずつ、最後まで読む 標準入力から読むには、sys をimport しておき、sys.stdin を用います。 次の例は、1行ずつ、標準入力から読んで標準出力に書き出します。 (なお、print 文が自分で改行を付け足さないよう、最後にコンマがついています。) #!/

  • k.i.h.p - messageboard

    こんにちは。 PythonIteratorについて、全然知らないでのは寂しいので、私の知って いる範疇でざっと解説したいと思います。多少なりとも参考になれば幸いです。 最近のPythonはリストやファイルから簡単にイテレータが作れます。 i = iter( リスト ) とかするだけ。i.next() で次の値ゲット。 これ以上要素がないときにはStopIteration例外発動。 で、外部イテレータとして、whileループで回してtryで例外捕まえて、 とも書けますが、普通もっと楽な方法を使います:forにつっこむだけ。 for i in iter( リスト ): print i これでnext()とかStopIterationとかは書かなくても言語が面倒見てくれます。 内部イテレータなのか外部イテレータなのか微妙なところです(笑 もちろんイテレータを自分で作るこ

    nelnal_programing
    nelnal_programing 2007/11/01
    iterator
  • csvモジュールとtemplateモジュールで定型的なファイルを出力 - Bouldering & Com.

    def create_poor_doc(csv_file, tmpl_file): import csv reader = csv.reader(open(csv_file, 'rb')) import string f = open(tmpl_file , 'r') msg = string.Template(f.read()) f.close() for row in reader: f = open(row[0] + '.html', 'w') f.write(msg.substitute({'title': row[1], 'status': row[2], 'detail': row[3]})) f.close() tmpl_fileの例 ===== ${title} ===== ${status} -------- ${detail}

    csvモジュールとtemplateモジュールで定型的なファイルを出力 - Bouldering & Com.
  • 再帰とジェネレータ

    back [English] 概要: ある種の問題は、再帰を使うと非常に効率的に記述できる。 しかし大量のデータを生成するような再帰的手続きは厳密に制御する必要があり、 そういったプログラミングは難しい。Python 2.2 以降から使用可能になった ジェネレータを使うと、簡潔なコードを維持しつつ、 こうした手続きをかんたんに制御することができる。 この文書で使われているソースコードは こちら。 プレインテキスト版は こちら。 はじめに 再帰は非常に強力なメカニズムです。 時にこれは混乱を招くこともありますが、ふつう再帰を使うと、問題を簡単に記述することができます。 ある手続きが扱うデータ量が指数的に増えるような場合、これはとくにあてはまります。 木構造の探索がいい例でしょう。木の各節点はひとつ以上の子を持っていますが、 下へ下へとたどっていくにつれて、節点の数は指数的に増えていきます。

    nelnal_programing
    nelnal_programing 2007/11/01
    イテレータ StopIterator
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 3.18 copy -- 浅いコピーおよび深いコピー操作

    このモジュールでは汎用の (浅い/深い) コピー操作を提供しています。 以下にインタフェースをまとめます: import copy x = copy.copy(y) # make a shallow copy of y x = copy.deepcopy(y) # make a deep copy of y このモジュール固有のエラーに対しては、copy.error が送出されます。 浅い (shallow) コピーと深い (deep) コピーの違いが関係するのは、 複合オブジェクト (リストやクラスインスタンスのような他のオブジェクトを 含むオブジェクト) だけです: 浅いコピー (shallow copy) は新たな複合オブジェクトを作成し、 その後 (可能な限り) 元のオブジェクト中に見つかったオブジェクトに対する 参照 を挿入します。 深いコピー (deep copy) は新たな

    nelnal_programing
    nelnal_programing 2007/11/01
    copyモジュール
  • 1