Skip to content

Commit b249aea

Browse files
bpo-39693: mention KeyError in tarfile extractfile documentation (GH-18639)
Co-authored-by: Andrey Darascheka <[email protected]> (cherry picked from commit ec42789) Closes bpo-39693.
1 parent 38a17d0 commit b249aea

File tree

4 files changed

+11
-7
lines changed

4 files changed

+11
-7
lines changed

Doc/library/tarfile.rst

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -445,10 +445,11 @@ be finalized; only the internally used file object will be closed. See the
445445

446446
.. method:: TarFile.extractfile(member)
447447

448-
Extract a member from the archive as a file object. *member* may be a filename
449-
or a :class:`TarInfo` object. If *member* is a regular file or a link, an
450-
:class:`io.BufferedReader` object is returned. Otherwise, :const:`None` is
451-
returned.
448+
Extract a member from the archive as a file object. *member* may be
449+
a filename or a :class:`TarInfo` object. If *member* is a regular file or
450+
a link, an :class:`io.BufferedReader` object is returned. For all other
451+
existing members, :const:`None` is returned. If *member* does not appear
452+
in the archive, :exc:`KeyError` is raised.
452453

453454
.. versionchanged:: 3.3
454455
Return an :class:`io.BufferedReader` object.

Lib/tarfile.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2091,9 +2091,10 @@ def extract(self, member, path="", set_attrs=True, *, numeric_owner=False):
20912091

20922092
def extractfile(self, member):
20932093
"""Extract a member from the archive as a file object. `member' may be
2094-
a filename or a TarInfo object. If `member' is a regular file or a
2095-
link, an io.BufferedReader object is returned. Otherwise, None is
2096-
returned.
2094+
a filename or a TarInfo object. If `member' is a regular file or
2095+
a link, an io.BufferedReader object is returned. For all other
2096+
existing members, None is returned. If `member' does not appear
2097+
in the archive, KeyError is raised.
20972098
"""
20982099
self._check("r")
20992100

Misc/ACKS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1941,5 +1941,6 @@ Gennadiy Zlobin
19411941
Doug Zongker
19421942
Peter Åstrand
19431943
Vlad Emelianov
1944+
Andrey Doroschenko
19441945

19451946
(Entries should be added in rough alphabetical order by last names)
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fix tarfile's extractfile documentation

0 commit comments

Comments
 (0)