[Pythonjp-checkins] [python-doc-ja] 3 new revisions pushed by nozom.kaneko on 2011-03-19 10:37 GMT

Back to archive index

pytho****@googl***** pytho****@googl*****
2011年 3月 19日 (土) 19:38:28 JST


3 new revisions:

Revision: d9a3fededf67
Author:   Nozomu Kaneko <nozom****@gmail*****>
Date:     Thu Mar 17 11:17:03 2011
Log:      2.6.6: library/contextlib.rst
http://code.google.com/p/python-doc-ja/source/detail?r=d9a3fededf67

Revision: ecfd4206a92d
Author:   Nozomu Kaneko <nozom****@gmail*****>
Date:     Sat Mar 19 03:35:22 2011
Log:      原文を追加: library/contextlib.rst
http://code.google.com/p/python-doc-ja/source/detail?r=ecfd4206a92d

Revision: 0eab3ff6e0bc
Author:   Nozomu Kaneko <nozom****@gmail*****>
Date:     Sat Mar 19 03:35:39 2011
Log:      翻訳の見直し: library/contextlib.rst
http://code.google.com/p/python-doc-ja/source/detail?r=0eab3ff6e0bc

==============================================================================
Revision: d9a3fededf67
Author:   Nozomu Kaneko <nozom****@gmail*****>
Date:     Thu Mar 17 11:17:03 2011
Log:      2.6.6: library/contextlib.rst
http://code.google.com/p/python-doc-ja/source/detail?r=d9a3fededf67

Modified:
  /library/contextlib.rst

=======================================
--- /library/contextlib.rst	Sun May 23 21:51:56 2010
+++ /library/contextlib.rst	Thu Mar 17 11:17:03 2011
@@ -1,6 +1,5 @@
-
-:mod:`contextlib` --- :keyword:`with` \ -構文コンテキストのためのユーティリ 
ティ。
-=================================================================================
+:mod:`contextlib` --- :keyword:`with` \ -構文コンテキストのためのユーティリ 
ティ
+===============================================================================

  .. module:: contextlib
     :synopsis: with-構文コンテキストのためのユーティリティ。

==============================================================================
Revision: ecfd4206a92d
Author:   Nozomu Kaneko <nozom****@gmail*****>
Date:     Sat Mar 19 03:35:22 2011
Log:      原文を追加: library/contextlib.rst
http://code.google.com/p/python-doc-ja/source/detail?r=ecfd4206a92d

Modified:
  /library/contextlib.rst

=======================================
--- /library/contextlib.rst	Thu Mar 17 11:17:03 2011
+++ /library/contextlib.rst	Sat Mar 19 03:35:22 2011
@@ -7,18 +7,35 @@

  .. versionadded:: 2.5

+.. This module provides utilities for common tasks involving  
the :keyword:`with`
+.. statement. For more information see also :ref:`typecontextmanager` and
+.. :ref:`context-managers`.
+
  このモジュールは :keyword:`with` 文を必要とする一般的なタスクのためのユーテ 
ィリティを提供します。
  詳しい情報は、 :ref:`typecontextmanager` と :ref:`context-managers` を参照 
してください。

+
+.. Functions provided:
+
  用意されている関数:


  .. function:: contextmanager(func)

+   .. This function is a :term:`decorator` that can be used to define a  
factory
+   .. function for :keyword:`with` statement context managers, without  
needing to
+   .. create a class or separate :meth:`__enter__` and :meth:`__exit__`  
methods.
+
     この関数はデコレータ(:term:`decorator`)であり、 :keyword:`with` 文コンテ 
キストマネージャのためのファクトリ関数の定義に利用できます。
     ファクトリ関数を定義するために、クラスあるいは別の :meth:`__enter__`  
と :meth:`__exit__` メソッドを作る必要はありません。

-   簡単な例(実際にHTMLを生成する方法としてはお勧めできません!)::
+
+   .. A simple example (this is not recommended as a real way of  
generating HTML!):
+
+   簡単な例(実際にHTMLを生成する方法としてはお勧めできません!)
+
+
+   ::

        from contextlib import contextmanager

@@ -35,9 +52,27 @@
        foo
        </h1>

+
+   .. The function being decorated must return  
a :term:`generator`-iterator when
+   .. called. This iterator must yield exactly one value, which will be  
bound to
+   .. the targets in the :keyword:`with` statement's :keyword:`as` clause,  
if any.
+
     デコレートされた関数は呼び出されたときにジェネレータ 
(:term:`generator`)-イテレータを返します。このイテレータは値をちょうど一つ 
yieldしなければなりません。
     :keyword:`with` 文の :keyword:`as` 節が存在するなら、その値がas節のター 
ゲットへ束縛されることになります。

+
+   .. At the point where the generator yields, the block nested in  
the :keyword:`with`
+   .. statement is executed.  The generator is then resumed after the  
block is exited.
+   .. If an unhandled exception occurs in the block, it is reraised inside  
the
+   .. generator at the point where the yield occurred.  Thus, you can use a
+   .. :keyword:`try`...\ :keyword:`except`...\ :keyword:`finally`  
statement to trap
+   .. the error (if any), or ensure that some cleanup takes place. If an  
exception is
+   .. trapped merely in order to log it or to perform some action (rather  
than to
+   .. suppress it entirely), the generator must reraise that exception.  
Otherwise the
+   .. generator context manager will indicate to the :keyword:`with`  
statement that
+   .. the exception has been handled, and execution will resume with the  
statement
+   .. immediately following the :keyword:`with` statement.
+
     ジェネレータがyieldするところで、 :keyword:`with` 文のネストされたブロッ 
クが実行されます。
     ジェネレータはブロックから出た後に再開されます。ブロック内で処理されない 
例外が発生した場合は、 yieldが起きた場所でジェネレータ内部へ再送出されます。
     このように、(もしあれば)エラーを捕捉したり、後片付け処理を確実に実行し 
たりするために、 :keyword:`try`...\
@@ -50,16 +85,30 @@

  .. function:: nested(mgr1[, mgr2[, ...]])

+   .. Combine multiple context managers into a single nested context  
manager.
+
     複数のコンテキストマネージャを一つのネストされたコンテキストマネージャへ 
結合します。

-   このようなコードは::
+
+   .. Code like this:
+
+   このようなコードは
+
+
+   ::

        from contextlib import nested

        with nested(A(), B(), C()) as (X, Y, Z):
            do_something()

-   これと同等です::
+
+   .. is equivalent to this:
+
+   これと同等です:
+
+
+   ::

        m1, m2, m3 = A(), B(), C()
        with m1 as X:
@@ -67,6 +116,16 @@
                with m3 as Z:
                    do_something()

+
+   .. Note that if the :meth:`__exit__` method of one of the nested  
context managers
+   .. indicates an exception should be suppressed, no exception  
information will be
+   .. passed to any remaining outer context managers. Similarly, if the
+   .. :meth:`__exit__` method of one of the nested managers raises an  
exception, any
+   .. previous exception state will be lost; the new exception will be  
passed to the
+   .. :meth:`__exit__` methods of any remaining outer context managers. In  
general,
+   .. :meth:`__exit__` methods should avoid raising exceptions, and in  
particular they
+   .. should not re-raise a passed-in exception.
+
     ネストされたコンテキストマネージャの一つの :meth:`__exit__` メソッドに止 
めるべき例外がある場合は、残りの外側のコンテキストマネージャすべてに
     例外情報が渡されないということに注意してください。同じように、ネストされ 
たマネージャの一つの :meth:`__exit__` メソッドが
     例外を送出したならば、どんな以前の例外状態も失われ、新しい例外が残りすべ 
ての外側にあるコンテキストマネージャの
@@ -76,7 +135,13 @@

  .. function:: closing(thing)

-   ブロックの完了時に *thing* を閉じるコンテキストマネージャを返します。こ 
れは基本的に以下と等価です::
+   .. Return a context manager that closes *thing* upon completion of the  
block.  This
+   .. is basically equivalent to:
+
+   ブロックの完了時に *thing* を閉じるコンテキストマネージャを返します。こ 
れは基本的に以下と等価です
+
+
+   ::

        from contextlib import contextmanager

@@ -87,7 +152,13 @@
            finally:
                thing.close()

-   そして、明確に ``page`` を閉じる必要なしに、このように書くことができま 
す::
+
+   .. And lets you write code like this:
+
+   そして、明確に ``page`` を閉じる必要なしに、このように書くことができま 
す:
+
+
+   ::

        from contextlib import closing
        import urllib
@@ -96,11 +167,19 @@
            for line in page:
                print line

+
+   .. without needing to explicitly close ``page``.  Even if an error  
occurs,
+   .. ``page.close()`` will be called when the :keyword:`with` block is  
exited.
+
     たとえエラーが発生したとしても、 :keyword:`with` ブロックを出るときに  
``page.close()`` が呼ばれます。


  .. seealso::

     :pep:`0343` - The "with" statement
+
+      .. The specification, background, and examples for the  
Python :keyword:`with`
+      .. statement.
+
        仕様、背景、および、Python :keyword:`with` 文の例。


==============================================================================
Revision: 0eab3ff6e0bc
Author:   Nozomu Kaneko <nozom****@gmail*****>
Date:     Sat Mar 19 03:35:39 2011
Log:      翻訳の見直し: library/contextlib.rst
http://code.google.com/p/python-doc-ja/source/detail?r=0eab3ff6e0bc

Modified:
  /library/contextlib.rst

=======================================
--- /library/contextlib.rst	Sat Mar 19 03:35:22 2011
+++ /library/contextlib.rst	Sat Mar 19 03:35:39 2011
@@ -11,13 +11,13 @@
  .. statement. For more information see also :ref:`typecontextmanager` and
  .. :ref:`context-managers`.

-このモジュールは :keyword:`with` 文を必要とする一般的なタスクのためのユーテ 
ィリティを提供します。
+このモジュールは :keyword:`with` 構文に関わる一般的なタスクのためのユーティ 
リティを提供します。
  詳しい情報は、 :ref:`typecontextmanager` と :ref:`context-managers` を参照 
してください。


  .. Functions provided:

-用意されている関数:
+提供されている関数:


  .. function:: contextmanager(func)
@@ -26,8 +26,10 @@
     .. function for :keyword:`with` statement context managers, without  
needing to
     .. create a class or separate :meth:`__enter__` and :meth:`__exit__`  
methods.

-   この関数はデコレータ(:term:`decorator`)であり、 :keyword:`with` 文コンテ 
キストマネージャのためのファクトリ関数の定義に利用できます。
-   ファクトリ関数を定義するために、クラスあるいは別の :meth:`__enter__`  
と :meth:`__exit__` メソッドを作る必要はありません。
+   この関数は :keyword:`with` 構文コンテキストマネージャのファクトリ関数を
+   定義するためのデコレータ (:term:`decorator`) です。
+   新しいクラスを作ったり :meth:`__enter__` と :meth:`__exit__` のメソッド 
を
+   別々にしなくても、ファクトリ関数を定義することができます。


     .. A simple example (this is not recommended as a real way of  
generating HTML!):
@@ -57,8 +59,9 @@
     .. called. This iterator must yield exactly one value, which will be  
bound to
     .. the targets in the :keyword:`with` statement's :keyword:`as` clause,  
if any.

-   デコレートされた関数は呼び出されたときにジェネレータ 
(:term:`generator`)-イテレータを返します。このイテレータは値をちょうど一つ 
yieldしなければなりません。
-   :keyword:`with` 文の :keyword:`as` 節が存在するなら、その値がas節のター 
ゲットへ束縛されることになります。
+   デコレート対象の関数は呼び出されたときにジェネレータ 
(:term:`generator`)-イテレータを返す必要があります。
+   このイテレータは値をちょうど一つ yield しなければなりません。
+   :keyword:`with` 構文の :keyword:`as` 節が存在するなら、その値は as 節の 
ターゲットへ束縛されることになります。


     .. At the point where the generator yields, the block nested in  
the :keyword:`with`
@@ -73,14 +76,16 @@
     .. the exception has been handled, and execution will resume with the  
statement
     .. immediately following the :keyword:`with` statement.

-   ジェネレータがyieldするところで、 :keyword:`with` 文のネストされたブロッ 
クが実行されます。
-   ジェネレータはブロックから出た後に再開されます。ブロック内で処理されない 
例外が発生した場合は、 yieldが起きた場所でジェネレータ内部へ再送出されます。
-   このように、(もしあれば)エラーを捕捉したり、後片付け処理を確実に実行し 
たりするために、 :keyword:`try`...\
-   :keyword:`except`...\ :keyword:`finally` 文を使うことができます。
-   単に例外のログをとるためだけに、もしくは(完全に例外を抑えてしまうのでは 
なく)
-   あるアクションを実行するだけに例外を捕まえるなら、ジェネレータはその例外 
を再送出しなければなりません。
-   そうしないと、ジェネレータコンテキストマネージャは例外が処理され 
た :keyword:`with` 文を指しており、
-   その :keyword:`with` 文のすぐ後につづく文から実行を再開します。
+   ジェネレータが yield を実行した箇所で :keyword:`with` 文のネストされたブ 
ロックが実行されます。
+   ブロックから抜けた後でジェネレータは再開されます。
+   ブロック内で処理されない例外が発生した場合は、ジェネレータ内部の yield  
を実行した箇所で例外が再送出されます。
+   このように、(もしあれば)エラーを捕捉したり、クリーンアップ処理を確実に 
実行したりするために、
+   :keyword:`try`...\ :keyword:`except`...\ :keyword:`finally` 構文を使うこ 
とができます。
+   例外を捕捉する目的が、(完全に例外を抑制してしまうのではなく)
+   単に例外のログをとるため、もしくはあるアクションを実行するためなら、
+   ジェネレータはその例外を再送出しなければなりません。
+   例外を再送出しない場合、ジェネレータコンテキストマネージャ 
は :keyword:`with` 文に対して
+   例外が処理されたことを示し、 :keyword:`with` 文の直後の文から実行を再開 
します。


  .. function:: nested(mgr1[, mgr2[, ...]])
@@ -126,10 +131,13 @@
     .. :meth:`__exit__` methods should avoid raising exceptions, and in  
particular they
     .. should not re-raise a passed-in exception.

-   ネストされたコンテキストマネージャの一つの :meth:`__exit__` メソッドに止 
めるべき例外がある場合は、残りの外側のコンテキストマネージャすべてに
-   例外情報が渡されないということに注意してください。同じように、ネストされ 
たマネージャの一つの :meth:`__exit__` メソッドが
-   例外を送出したならば、どんな以前の例外状態も失われ、新しい例外が残りすべ 
ての外側にあるコンテキストマネージャの
-   :meth:`__exit__` メソッドに渡されます。一般的に :meth:`__exit__` メソッ 
ドが例外を送出することは避けるべきであり、
+   ネストされたコンテキストマネージャのうちのいずれかの :meth:`__exit__` メ 
ソッドが
+   例外を抑制すべきと判断した場合、外側にある残りのすべてのコンテキストマ 
ネージャに
+   例外情報が渡されないということに注意してください。同様に、ネストされた
+   コンテキストマネージャのうちのいずれかの :meth:`__exit__` メソッドが例外 
を送出したならば、
+   それ以前の例外状態は失われ、新しい例外が外側にある残りのすべての
+   コンテキストマネージャの :meth:`__exit__` メソッドに渡されます。
+   一般的に :meth:`__exit__` メソッドが例外を送出することは避けるべきであ 
り、
     特に渡された例外を再送出すべきではありません。


@@ -138,7 +146,7 @@
     .. Return a context manager that closes *thing* upon completion of the  
block.  This
     .. is basically equivalent to:

-   ブロックの完了時に *thing* を閉じるコンテキストマネージャを返します。こ 
れは基本的に以下と等価です
+   ブロックの完了時に *thing* を close するコンテキストマネージャを返しま 
す。これは基本的に以下と等価です


     ::
@@ -155,7 +163,7 @@

     .. And lets you write code like this:

-   そして、明確に ``page`` を閉じる必要なしに、このように書くことができま 
す:
+   そして、明示的に ``page`` を close する必要なしに、このように書くことが 
できます:


     ::




Pythonjp-checkins メーリングリストの案内
Back to archive index