サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ドラクエ3
doughellmann.com
Open Source Developer, Author, Editor. There’s always room for pie. virtualenvwrapper is probably the most popular tool I maintain. A surprising number of people use the current version of the shell scripts that grew out of a hacky little set of bash aliases I wrote 7+ years ago. There are even several competitors now. I created a market segment! ;) Perhaps ironically, I’ve found my own needs have
Open Source Developer, Author, Editor. There’s always room for pie. I’ve been reviewing lot of code lately for various open source and internal projects written in Python. As part of those reviews, I have noticed what I think is a trend toward using dict() instead of {} to create dictionaries. I don’t know exactly why this trend has emerged. Perhaps the authors perceive dict() as more readable tha
Python 3 Module of the Week¶ PyMOTW-3 is a series of articles written by Doug Hellmann to demonstrate how to use the modules of the Python 3 standard library. It is based on the original PyMOTW series, which covered Python 2.7. See About Python Module of the Week for details including the version of Python and tools used.
ページコンテンツ datetime – 日付/時間の操作 時間 日付 タイムデルタ 日付計算 値の比較 日付と時間を組み合わせる フォーマットと解析 タイムゾーン ナビゲーション コンテンツテーブル 前: array – データ型固定のシーケンス 次: calendar – 日付の処理 This Page Show Source サンプルプログラム PyMOTW の全てのサンプルプログラムの出力は、 注記されていない限りは Python 2.7.2 で生成されています。 標準ライブラリの初期のバージョンでは利用できない機能も紹介している 可能性があります。
Python Module of the Week の連載、PyMOTW は Python 標準ライブラリの短いサンプルを通して学ぶチュートリアルです。現在のバージョンは 1.132, 最終更新は Feb 17, 2013 で ConfigParser モジュールを説明します。
BaseHTTPServer モジュールは、HTTP サーバを構築するベースクラスを作るために SocketServer モジュールのクラスを使用します。 HTTPServer は直接的に使用できますが、 BaseHTTPRequestHandler は各プロトコルメソッド(GET, POST 等)を扱うように拡張するためにあります。 HTTP GET¶ リクエストハンドラクラスの HTTP メソッドをサポートするために、引数を取らない do_METHOD() メソッドを実装してください。 METHOD の部分は実際の HTTP メソッドの名前に置き換えます。例えば、 do_GET(), do_POST() 等になります。一貫性をもたせるためにこれらのメソッドは引数を受け取りません。全てのリクエストのパラメータは BaseHTTPRequestHandler へ渡されて、リクエストインスタ
Encode Python objects as JSON strings, and decode JSON strings into Python objects. The json module provides an API similar to pickle for converting in-memory Python objects to a serialized representation known as JavaScript Object Notation (JSON). Unlike pickle, JSON has the benefit of having implementations in many languages (especially JavaScript). It is most widely used for communicating betwe
ページコンテンツ contextlib – コンテキストマネージャユーティリティ コンテキストマネージャ API ジェネレータからコンテキストマネージャへ ネストされたコンテキスト オープンハンドラをクローズする ナビゲーション コンテンツテーブル 前: atexit – プログラムの終了時に関数を呼び出す 次: gc – Garbage Collector This Page Show Source サンプルプログラム PyMOTW の全てのサンプルプログラムの出力は、 注記されていない限りは Python 2.7.2 で生成されています。 標準ライブラリの初期のバージョンでは利用できない機能も紹介している 可能性があります。
logging モジュールは、アプリケーションやライブラリからのエラーやステータスといった情報をログ出力する標準の API を定義します。標準ライブラリモジュールがログ出力の API を提供する主な利点は、全ての Python モジュールが logging を使用するので、サードパーティモジュールからのメッセージをアプリケーションのログに含められます。 アプリケーションのログ出力¶ ログを精査するために2つの視点があります。アプリケーションの開発者は、 logging モジュールを設定して、適切な出力チャンネルへメッセージを出力します。これは異なる冗長レベルを用いたり、別の出力先へログメッセージを出力したりします。ログメッセージを書き込む、ファイル、HTTP GET/POST の場所、SMTP 経由のメール、汎用的なソケット、OS に特化したログの仕組みといったハンドラが全て含まれています
ページコンテンツ urllib2 – URL をオープンするライブラリ HTTP GET エンコード引数 HTTP POST リクエストを直接処理する 外部向けのヘッダを追加する フォームデータを POST する ファイルをアップロードする カスタムプロトコルハンドラ ナビゲーション コンテンツテーブル 前: urllib – ネットワークリソースへのシンプルなインタフェース 次: urlparse – URL を部分文字列に分割する This Page Show Source サンプルプログラム PyMOTW の全てのサンプルプログラムの出力は、 注記されていない限りは Python 2.7.2 で生成されています。 標準ライブラリの初期のバージョンでは利用できない機能も紹介している 可能性があります。
ページコンテンツ threading – スレッドによる並列処理を管理する Thread オブジェクト カレントスレッドを決める デーモンと非デーモンスレッド 全てのスレッドを列挙する スレッドをサブクラス化する タイマースレッド スレッド間でシグナルを送る リソースへのアクセスを制御する 再入可能なロック コンテキストマネージャとしてのロック スレッドを同期する リソースへの同時アクセスを制限する スレッド固有のデータ ナビゲーション コンテンツテーブル 前: オプション OS サービス 次: mmap – メモリマップファイル This Page Show Source サンプルプログラム PyMOTW の全てのサンプルプログラムの出力は、 注記されていない限りは Python 2.7.2 で生成されています。 標準ライブラリの初期のバージョンでは利用できない機能も紹介している 可能性
ページコンテンツ dis – Python バイトコードディスアセンブラ 基本的なディスアセンブル処理 関数をディスアセンブルする クラス デバッグのためにディスアセンブルする ループのパフォーマンス解析 コンパイラの最適化 ナビゲーション コンテンツテーブル 前: compileall – ソースファイルをバイトコンパイルする 次: pyclbr – Python クラスブラウザサポート This Page Show Source サンプルプログラム PyMOTW の全てのサンプルプログラムの出力は、 注記されていない限りは Python 2.7.2 で生成されています。 標準ライブラリの初期のバージョンでは利用できない機能も紹介している 可能性があります。
import profile def fib(n): # from http://en.literateprograms.org/Fibonacci_numbers_(Python) if n == 0: return 0 elif n == 1: return 1 else: return fib(n-1) + fib(n-2) def fib_seq(n): seq = [ ] if n > 0: seq.extend(fib_seq(n-1)) seq.append(fib(n)) return seq print 'RAW' print '=' * 80 profile.run('print fib_seq(20); print') $ python profile_fibonacci_raw.py RAW =====================================
What’s Changed Breaking Changes formally drop Python 2 support remove toggleglobalsitepackages command, since virtualenv seems to have removed that capability\ drop ksh support by @dhellmann in https://github.com/python-virtualenvwrapper/virtualenvwrapper/pull/27 remove python2 from startup logic for finding the python interpreter by @dhellmann in https://github.com/python-virtualenvwrapper/virtua
a | b | c | d | e | f | g | h | i | j | l | m | o | p | q | r | s | t | u | w | x | z
ページコンテンツ optparse – getopt に代わるコマンドラインオプションパーサ OptionParser を作成する オプションを定義する コマンドラインを解析する 短いオプション名と長いオプション名 getopt と比較する オプション値 デフォルト値の設定 型変換 選択肢 オプションのアクション 定数 ブーリアンフラグ 繰り返しオプション コールバック ヘルプメッセージ オプションを構成する アプリケーション設定 ナビゲーション コンテンツテーブル 前: getopt – Command line option parsing 次: argparse – コマンドラインオプションと引数の解析 This Page Show Source サンプルプログラム PyMOTW の全てのサンプルプログラムの出力は、 注記されていない限りは Python 2.7.2 で生成されていま
subprocess モジュールは新しくプロセスを生成して、そのプロセスを扱う一貫したインタフェースを提供します。それは従来からある他のモジュールよりも高レベルなインタフェースを提供します。そして os.system(), os.spawn*(), os.popen*(), popen2.*() や commands.*() のような従来の関数の置き換えを目的としています。 subprocess モジュールと他のモジュールとの比較を分かり易くするために os や popen を使用したサンプルを再作成して紹介します。 subprocess モジュールは Popen とそのクラスを使用する複数のラッパ関数を定義します。 Popen のコンストラクタは新たなプロセス生成を簡単にする複数の引数を受け取り、パイプを経由してその親プロセスと通信します。それは他のモジュールの置き換えられる全ての機能や
pprint はデータ構造の表現を見て美しい形で出力する “pretty printer” を提供します。そのフォーマッタはインタープリタが正しく解析したデータ構造の形を生成します。さらにそれは人間にとっても読み易いです。その出力はできるだけ1行でなされ、複数行にわたるときはインデントされます。 全てのサンプルは pprint_data.py に依存しており、そのファイルは次のデータを含んでいます。 data = [ (i, { 'a':'A', 'b':'B', 'c':'C', 'd':'D', 'e':'E', 'f':'F', 'g':'G', 'h':'H', }) for i in xrange(3) ]
argparse モジュールは optparse に置き換わるものとして Python 2.7 で追加されました。 argparse の実装は optparse へ簡単に追加されない機能を提供しますが、後方互換性のない API の変更を必要とします。そのために optparse に置き換わる新たなライブラリとして設けられました。 optparse もそのままサポートされますが、新しい機能が実装されることはないと思われます。 optparse と比較する¶ argparse の API は optparse が提供するものとよく似ています。そして、多くのケースでは argparse はクラス名やメソッドを変更すると、そのまま置き換えて使用できます。そうとは言え、そのままでは使用できない互換性のない新機能も少しだけあります。 既存のプログラムをアップグレードするかどうかは、基本的にケースバイケ
ページコンテンツ XML ドキュメントを作成する 要素のノードを組み立てる 人が読み易い XML 要素のプロパティを設定する ノードのリストからツリーを構築する ストリームへ XML をシリアライズする ナビゲーション コンテンツテーブル 前: XML ドキュメントを解析する 次: 国際化 This Page Show Source サンプルプログラム PyMOTW の全てのサンプルプログラムの出力は、 注記されていない限りは Python 2.7.2 で生成されています。 標準ライブラリの初期のバージョンでは利用できない機能も紹介している 可能性があります。 XML ドキュメントを作成する¶ XML の構文解析に加えて、 xml.etree.ElementTree はアプリケーションで組み立てた Element オブジェクトから一般的な XML ドキュメントを作成する機能も提供します。ド
ページコンテンツ プロセス間通信 プロセスへメッセージを渡す プロセス間でシグナルを送る リソースへのアクセスを制御する 同期オペレーション リソースへの並列アクセスを制御する 共有状態を管理する 共有ネームスペース プロセスプール ナビゲーション コンテンツテーブル 前: multiprocessing の基本 次: multiprocessing で MapReduce を実装する This Page Show Source サンプルプログラム PyMOTW の全てのサンプルプログラムの出力は、 注記されていない限りは Python 2.7.2 で生成されています。 標準ライブラリの初期のバージョンでは利用できない機能も紹介している 可能性があります。 プロセス間通信¶ スレッドのように、マルチプロセスの一般的な用途は並列で実行する複数のワーカーにジョブを分割することです。複数プロセス
sqlite3 モジュールは SQLite 関係データベースに対する DB-API 2.0 準拠のインタフェースを提供します。SQLite はアプリケーション内に組み込むように設計された、インプロセスデータベースであり、MySQL, PostgreSQL や Oracle のような独立したサーバプログラムではありません。SQLite は高速且つ柔軟で徹底的にテストされており、プロトタイピングのみならず、アプリケーションによっては本番環境にも使用できます。 データベースを作成する¶ SQLite データベースはファイルシステム上の1つのファイルに格納されます。ライブラリはそのファイルへのアクセスを管理し、複数のプログラムがそのファイルへ書き込むときにデータが破損しないようにロックします。そのファイルへの初回アクセス時にデータベースが作成されますが、アプリケーションはデータベース内のテーブル定
多くのプログラムで中間データを書き出すためにファイルを作成する必要性に迫られます。アプリケーションを壊したい攻撃者に推測されないように、セキュアでユニークな名前のファイルを作成することはプログラマの手腕を問われるところです。 tempfile モジュールはセキュアなファイルシステムリソースを作成するための機能を提供します。 TemporaryFile() は無名ファイルをオープンして返します。 NamedTemporaryFile() は名前のあるファイルをオープンして返します。 mkdtemp() は一時的なディレクトリを作成してその名前を返します。 TemporaryFile¶ あるアプリケーションがデータを保存するために一時的なファイルが必要な場合でも、その一時ファイルを他のプログラムと共有する必要はありません。一時ファイルを作成するために最適な選択は TemporaryFile()
The profile module provides APIs for collecting and analyzing statistics about how Python source consumes processor resources. Note This output reports in this section have been reformatted to fit on the page. Lines ending with backslash (\) are continued on the next line. Running the Profiler¶ The most basic starting point in the profile module is run(). It takes a string statement as argument, a
Wait for notification that an input or output channel is ready. The select module provides access to platform-specific I/O monitoring functions. The most portable interface is the POSIX function select(), which is available on Unix and Windows. The module also includes poll(), a Unix-only API, and several options that only work with specific variants of Unix. Note The new selectors module provides
The socket module exposes the low-level C API for communicating over a network using the BSD socket interface. It includes the socket class, for handling the actual data channel, and also includes functions for network-related tasks such as converting a server’s name to an address and formatting data to be sent across the network. See also Standard library documentation for socket Python 2 to 3 po
multiprocessing の基本¶ サブプロセスを使用する最も簡単な方法は対象関数と共に Process オブジェクトをインスタンス化することで、その処理を開始させるために start() を呼び出してください。 import multiprocessing def worker(): """worker function""" print 'Worker' return if __name__ == '__main__': jobs = [] for i in range(5): p = multiprocessing.Process(target=worker) jobs.append(p) p.start()
© Copyright Doug Hellmann. | | Last updated on Feb 17, 2013. | Created using Sphinx. | Design based on "Leaves" by SmallPark
次のページ
このページを最初にブックマークしてみませんか?
『Doug Hellmann』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く