27.10. traceback — スタックトレースの表示または取得¶ このモジュールは Python プログラムのスタックトレースを抽出し、書式を整え、表示するための標準インターフェースを提供します。モジュールがスタックトレースを表示するとき、 Python インタープリタの動作を正確に模倣します。インタープリタの”ラッパー”の場合のように、プログラムの制御の元でスタックトレースを表示したいと思ったときに役に立ちます。 モジュールは traceback オブジェクトを使います — これは変数 sys.exc_traceback (非推奨)と sys.last_traceback に保存され、 sys.exc_info() から三番目の項目として返されるオブジェクト型です。 モジュールは次の関数を定義します: traceback.print_tb(traceback[, limit[,
以前Pythonの基本的なことをまとめたとき、例外については参考URLのリンクを貼り付けただけだったので、この機会にまとめてみた。 (2014/11/12)リンク先を修正し、サンプルコードの内容もPython 3対応のものを追加し、本文の記述も一部書き直している。 例外について 種類 基本的な形 特定の例外に対して処理を行う場合 任意の例外に対して処理を行う場合 後始末の処理を含めた例外処理 例外について何かの操作を行うとき、何らかの原因によってそれが「うまくいかない」可能性を持っている場合がある。言語/環境によっては、そのときに行っていた処理を途中でやめて、失敗したことを環境側に知らせる仕組みがある。このとき、発生した「ある種の異常」(と定義されているもの)を例外といい、例外が起こったときにはそのままではプログラムは発生した例外の情報を出力しつつ終了してしまうが、例外が起こる可能性がある
タイムアウトの設定についてはPython 2.6以降urllib.urlopenerのオプション引数でサポートされるようになりました。後ほど書き直します。 urllib.URLopenerはすべてのエラーをIOErrorで返します。except文はひとつで済むのですが、DNSのエラー、タイムアウト、URLの不正形式からHTTPサーバにおけるNotFound、認証要求、リダイレクトまで全部一緒に扱われてしまいます。エラーの内容によって処理を振り分けたい場合、error valueを取って調べることになります。 e.errno e.strerror e.args ============== ========== ========================================= 'url error' '...' ('url error', '...') 'socket er
ここ数日blog.mitsukuni.org(このサイトのことです)の調子が悪い。httpdは立ち上がってるのに応答しないことがしばしばあるようで、Google Analyticsのpage viewが下方向に張り付いたままになっていた。 自作の死活監視プログラムを書いて置いて数分起きに実行しているのだが、どうもうまく機能していない模様。 ↓こんなの。 #!/usr/bin/env python import os import urllib2 url='http://blog.mitsukuni.org' try: urllib2.urlopen(url) except Exception, e: print 'Restart httpd cause hanged up' os.system('/etc/init.d/httpd restart') 実は、これだとソケット
ほかのプログラミング言語でちょっとよさげなアイデアが採用されているのを見ると、それを自分のお気に入りの言語でも実現したくなってくるものらしく、C# のイベント機構を Python でも実現できないかと考える人は少なくないようです。「c# event python」といったキーワードで検索すると、同様のことを試みたページが少なからず見つかります。以下もそれらと同様の試みのひとつですが、デスクリプタという Python の興味深い仕組みを使い、少し進んだ実装を目指します。 前提 シンプルな実装 より使いやすく 使い方 実装 解説 むすび 参考文献 Python でのイベント機構実装について デスクリプタについて 事項 前提 C# のイベントの概念とそれがどう素敵なのかについての説明は省略します。 シンプルな実装 イベントをクラスとしてシンプルに実装すると、次のようなものになるでしょう。 最後の
Django makes it easier to build better web apps more quickly and with less code. Get started with Django Meet Django Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design. Built by experienced developers, it takes care of much of the hassle of web development, so you can focus on writing your app without needing to reinvent the wheel. It’s free a
はじめに こんにちは、Python界のNintendo 3DSです。結婚式2次会で当たりました。さてPython 3.2がリリースされて、Python 3.3のリリーススケジュールが発表され、いよいよPython Language Moratoriumも終了が近づいてきました。 PEP 3003 -- Python Language Moratorium 「Python 3.1が出てから最低2年間は言語仕様やビルトインは変更しませんよ」というPEP。Python 3.3からは再び更新あり。 Python 3.1 Release Python 3.3 finalは2012年8月18日リリース予定 C/APIではもうモラトリアムは破られているということなので、ぼちぼちPython 3への移行を考えていたらいくつか記事があったのでご紹介します。 参考 zzzeek : zzzeek's Guid
原文はこちら: Deprecations between Python 2.7 and 3.x 最近の python-dev の議論 で、Python 2.7 から Python 3.x の最新バージョンへ移行するときに遭遇する、いまの Python の段階的な廃止プロセスのポリシーに関する問題が浮き彫りになりました。この問題の結果として、Python ユーザが古いバージョンを調べずに Python 2.7 から 3.x の最新バージョンへ普通に移行するという事実を考慮して、開発チームはいまの段階的な廃止プロセスのポリシーを変更しました。 背景 Python は後方互換性に対して強いコミットメントをもっています。互換性のガイドラインに準拠しない限りどんな変更も認められません。それは正しいプログラムが Python の新しいバージョンで実行できるというのが本質的なところです。しかし、このこと
情報セキュリティ監査する上で、迷うことがある。迷った際に参考となるネタをまとめておく。 ISMS 割愛。規格を買うのがよい。 情報セキュリティ監査制度 情報セキュリティ監査制度(METI/経済産業省) 情報セキュリティ監査基準(平成15年経済産業省告示第114号) 実施基準ガイドライン 報告基準ガイドライン 情報セキュリティ管理基準(平成28年経済産業省告示第37号) 個別管理基準(監査項目)策定ガイドライン ISMAP ISMAP - 政府情報システムのためのセキュリティ評価制 ISMAP管理基準 ISMAP管理基準マニュアル(1章、2章) ISMAP 標準監査手続 IPAのYouTube 制度の概要 - ISMAP:政府情報システムのためのセキュリティ評価制度 www.youtube.com 監査機関を対象とした基準等 - ISMAP:政府情報システムのためのセキュリティ評価制度 ww
渋日記@shibu.jp 渋川よしきの日記です。ソフトウェア開発とか、ライフハックを中心に記事を書いていきます。 今出張で、サン・フランシスコに来ています。街はもうクリスマスムードで、楽しげな雰囲気がただよっています。期間限定のアイススケートのリンクが公園にできていたり、ngmoco:)のオフィスの入っているビルにもイルミネーションが飾られていたりします。 PyPy advent calendar に参加しています。@aodagからバトンを受け取りました。今日のこのネタはアドベントカレンダーの記事です。 PyPyはご存知でしょうか?その怪しげな(Pythonらしくイヤラシい)名前にもかかわらず、なんだかよく分からないパフォーマンスを叩き出しているPython処理系です。1.6でもすでにCPythonよりも早かったのですが、1.7ではさらに改善されています。 ですが、このPyPyよりも速いP
こんにちわ、しのまりファンことmopemopeです。 meinheld 0.3よりwebsocketをサポートする予定です。 websocketはmiddleware経由で取得できます。 WebSocketMiddlewareを使うとenvironからwebsocketを取得できます。 シンプルなチャットはこんな感じ。 meinheld/websocket_chat_simple.py at dev · mopemope/meinheld · GitHub import os from meinheld import server, middleware, websocket participants = set() """ @websocket.WebSocketWSGI def handle(ws): participants.add(ws) try: while True: prin
こんにちは、Python界のヘンリー塚本ことmopemopeです。 なんかpythonのpycファイルをいじってアタックするとかセキュリティの話が出てきてますね。 せっかくなので別の方法でこーいうこともできますよというのを紹介しておきます。 もちろん普通の人は書かないであろう、あらびきな方法です。 今回は関数などの実行結果をすりかえるという話です。 ではコード。 steal.h #ifndef STEAL_H #define STEAL_H #include <Python.h> #ifdef DEVELOP #define DEBUG(...) \ do { \ /*printf("%-22s%4u: ", __FILE__, __LINE__);*/ \ printf("%-22s %-32s%4u: ", __FILE__, __func__, __LINE__); \ printf
この記事読んで以来、ずっとTitaniumをいじっていました Ruby,Python,PHP,JavaScriptでマルチプラットフォームなデスクトップアプリを簡単に作成する Appcelerator Titanium Desktop - 仙台 Rails Vim JavaScript社長 Titanium Desktopの何がすごいって、Webkitベースなのでhtml/css/javascriptのweb標準技術が使えて、さらにはKrollというライブラリがそれぞれの言語の仲立ちをし、名前空間を共有しそれぞれのライブラリを呼び出せるそうな。なにそれきもい。 僕は完全に が使えるwebkitとしか見てなくて、GUIライブラリが貧弱なPythonだと、十分有力な選択肢に入ると思われます。一度作ったものはクロスブラウザで使えるし。 簡単なTwitterクライアントを作ってみた あっさりできま
TwitterのAPIでTL(タイムライン)を取得するとき、回数制限が設けられています。 しかしuser_timelineをRSSで取得する際には、この制限がありません。 なので、この独立したいくつかのuser_timelineを組み合わせ、TLを再構築させてみたいと思います。 準備: Python処理系(俺は2.6系) feedparser([ubuntu] slicehostでpython-mecabとかの インストール - shohu33's diaryを参考にしてインストール) #!/usr/bin/python # -*- encoding: utf-8 -*- # coding: utf-8 import sys import urllib import feedparser def get_rss_url(id): url = "http://twitter.com/%s"
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く