[Pythonjp-checkins] [python-doc-ja] push by songo****@gmail***** - Update 2.7.2: library/zipfile on 2011-11-20 16:20 GMT

アーカイブの一覧に戻る

pytho****@googl***** pytho****@googl*****
2011年 11月 21日 (月) 01:21:35 JST


Revision: 36baa78b89bb
Author:   Naoki INADA  <inada****@klab*****>
Date:     Sun Nov 20 08:20:27 2011
Log:      Update 2.7.2: library/zipfile
http://code.google.com/p/python-doc-ja/source/detail?r=36baa78b89bb

Modified:
  /library/zipfile.rst
  /library/zipfile.rst.diff

=======================================
--- /library/zipfile.rst	Sat Apr 16 17:12:19 2011
+++ /library/zipfile.rst	Sun Nov 20 08:20:27 2011
@@ -40,6 +40,7 @@


  .. class:: ZipFile
+   :noindex:

     ZIP ファイルの読み書きのためのクラスです。コンストラクタの詳細について 
は、 :ref:`zipfile-objects` 節)
     を参照してください。
@@ -64,6 +65,10 @@

     *filename* が正しいマジックナンバをもつ ZIP ファイルのときに ``True`` を 
返し、
     そうでない場合 ``False`` を返します。
+   *filename* にはファイルやファイルライクオブジェクトを渡すこともできま 
す。
+
+   .. versionchanged:: 2.7
+      ファイルやファイルライクオブジェクトをサポート


  .. data:: ZIP_STORED
@@ -97,23 +102,39 @@
     パラメタは、既存のファイルを読むためには ``'r'`` 、既存のファイルを切り 
詰めたり新しいファイルに書き込むためには ``'w'`` 、
     追記を行うためには ``'a'`` でなくてはなりません。 *mode* が ``'a'`` で  
*file* が既存の ZIP ファイルを
     参照している場合、追加するファイルは既存のファイル中の ZIP アーカイブに 
追加されます。 *file* が ZIP を参照していない場合、新しい ZIP
-   アーカイブが生成され、既存のファイルの末尾に追加されます。このことは、あ 
る ZIP ファイルを他のファイル、例えば
-   :file:`python.exe` に ::
-
-      cat myzip.zip >> python.exe
-
-   として追加することができ、少なくとも :program:`WinZip` がこのようなファ 
イルを読めることを意味します。
-   もし、 *mode* が ``a`` で、かつ、ファイルが存在しなかった場合、新規に作 
成されます。
-   *compression* はアーカイブを書き出すときの ZIP 圧縮法 
で、 :const:`ZIP_STORED` または :const:`ZIP_DEFLATED` でなくては
-   なりません。不正な値を指定すると :exc:`RuntimeError` が送出されます。ま 
た、 :const:`ZIP_DEFLATED`
-   定数が指定されているのに :mod:`zlib` を利用することができない場 
合、 :exc:`RuntimeError` が送出されます。デフォルト値は
-   :const:`ZIP_STORED` です。 *allowZip64* が ``True`` ならば 2GB より大き 
な ZIP ファイルの作成時に
-   ZIP64 拡張を使用します。これが ``False`` ならば、 :mod:`zipfile` モジ 
ュールは ZIP64
-   拡張が必要になる場面で例外を送出します。 ZIP64 拡張はデフォルトでは無効 
にされていますが、これは Unix の :program:`zip` および
+   アーカイブが生成され、既存のファイルの末尾に追加されます。
+   このことは、ある ZIP ファイルを他のファイル(例えば :file:`python.exe`)に
+   追加することを意味しています。
+
+   .. versionchanged:: 2.6
+      *mode* が ``'a'`` でファイルが存在しない場合、ファイルが作られるよう 
になりました。
+
+   *compression* はアーカイブを書き出すときの ZIP 圧縮法 
で、 :const:`ZIP_STORED`
+   または :const:`ZIP_DEFLATED` でなくてはなりません。
+   不正な値を指定すると :exc:`RuntimeError` が送出されます。
+   また、 :const:`ZIP_DEFLATED` 定数が指定されているのに :mod:`zlib` を利用 
することが
+   できない場合も、 :exc:`RuntimeError` が送出されます。
+   デフォルト値は :const:`ZIP_STORED` です。
+   *allowZip64* が ``True`` ならば 2GB より大きな ZIP ファイルの作成時に
+   ZIP64 拡張を使用します。これが ``False`` (デフォルト) なら 
ば、 :mod:`zipfile`
+   モジュールは ZIP64 拡張が必要になる場面で例外を送出します。
+   ZIP64 拡張はデフォルトでは無効にされていますが、これは Unix  
の :program:`zip` および
     :program:`unzip` (InfoZIP ユーティリティ) コマンドがこの拡張をサポートし 
ていないからです。

-   .. versionchanged:: 2.6
-      mode が 'a' でファイルが存在しない場合、ファイルが作られるようになり 
ました。
+   .. versionchanged:: 2.7.1
+      ファイルが ``'a'`` か ``'w'`` モードで作成されて、アーカイブに1ファイ 
ルも
+      追加しないまま :meth:`close` した場合に、空のアーカイブとして正しい 
ZIPの
+      構造がそのファイルに書かれるようになりました。
+
+   ZipFile はコンテキストマネージャーにもなっているので、 :keyword:`with`  
文をサポートしています。
+   次の例では、 *myzip* は :keyword:`with` 文のブロックが終了したときに、
+   (たとえ例外が発生したとしても) close されます。 ::
+
+      with ZipFile('spam.zip', 'w') as myzip:
+          myzip.write('eggs.txt')
+
+   .. versionadded:: 2.7
+      :class:`ZipFile` にコンテキストマネージャーの機能を追加しました。


  .. method:: ZipFile.close()
@@ -150,8 +171,8 @@
     .. note::

        file-like オブジェクトは読み出し専用で、以下のメソッドを提供します:
-      :meth:`read`, :meth:`readline`, :meth:`readlines`, :meth:`__iter__`,
-      :meth:`next`
+      :meth:`!read`, :meth:`!readline`, :meth:`!readlines`, :meth:`!__iter__`,
+      :meth:`!next`

     .. note::

@@ -264,7 +285,7 @@
        もし、 ``arcname`` (``arcname`` が与えられない場合は、 ``filename``)  
が null byte を含むなら、
        アーカイブ中のファイルのファイル名は、 null byte までで、切り詰められ 
ます。

-.. method:: ZipFile.writestr(zinfo_or_arcname, bytes)
+.. method:: ZipFile.writestr(zinfo_or_arcname, bytes[, compress_type])

     文字列 *bytes* をアーカイブに書き込みます。
     *zinfo_or_arcname* はアーカイブ中で指定するファイル名か、また 
は :class:`ZipInfo` インスタンス
@@ -275,13 +296,19 @@
     開かれていなければなりません。
     閉じた ZipFile に対し :meth:`writestr` メソッドを呼び出す 
と :exc:`RuntimeError` が送出されます。

+   *compressed_type* が指定された場合、その値はコンストラクタに与えられた  
*compression*
+   の値か、 *zinfo_or_arcname* が :class:`ZipInfo` のインスタンスだったとき 
はその値を
+   オーバーライドします。
+
     .. note::

-      :class:`ZipInfo` インスタンスを、引数 *zinfo_or_acrname* として与えた 
場合、
+      :class:`ZipInfo` インスタンスを、引数 *zinfo_or_arcname* として与えた 
場合、
        与えられた :class:`ZipInfo` インスタンスのメンバーである、  
*compress_type*
        で指定された圧縮方法が使われます。デフォルトでは、
        :class:`ZipInfo` コンストラクターが、このメンバー 
を :const:`ZIP_STORED` に設定します。

+   .. versionchanged:: 2.7
+      *compression_type* 引数

  以下のデータ属性も利用することができます。

=======================================
--- /library/zipfile.rst.diff	Sun Oct 30 17:04:23 2011
+++ /library/zipfile.rst.diff	Sun Nov 20 08:20:27 2011
@@ -68,8 +68,12 @@
      file-like object.  The *mode* parameter should be ``'r'`` to read an  
existing
      file, ``'w'`` to truncate and write a new file, or ``'a'`` to append  
to an
  -   existing file.  If *mode* is ``'a'`` and *file* refers to an existing  
ZIP file,
++   existing file.  If *mode* is ``'a'`` and *file* refers to an existing  
ZIP
  -   then additional files are added to it.  If *file* does not refer to a  
ZIP file,
++   file, then additional files are added to it.  If *file* does not refer  
to a
  -   then a new ZIP archive is appended to the file.  This is meant for  
adding a ZIP
++   ZIP file, then a new ZIP archive is appended to the file.  This is  
meant for
++   adding a ZIP archive to another file (such as :file:`python.exe`).
  -   archive to another file, such as :file:`python.exe`.  Using ::
  -
  -      cat myzip.zip >> python.exe
@@ -86,10 +90,6 @@
  -   file would require ZIP64 extensions. ZIP64 extensions are disabled by  
default
  -   because the default :program:`zip` and :program:`unzip` commands on  
Unix (the
  -   InfoZIP utilities) don't support these extensions.
-+   existing file.  If *mode* is ``'a'`` and *file* refers to an existing  
ZIP
-+   file, then additional files are added to it.  If *file* does not refer  
to a
-+   ZIP file, then a new ZIP archive is appended to the file.  This is  
meant for
-+   adding a ZIP archive to another file (such as :file:`python.exe`).

      .. versionchanged:: 2.6
  -      If the file does not exist, it is created if the mode is 'a'.




Pythonjp-checkins メーリングリストの案内
アーカイブの一覧に戻る