Skip to content

Commit ec42789

Browse files
doroschAndrey Darascheka
andauthored
bpo-39693: mention KeyError in tarfile extractfile documentation (GH-18639)
Co-authored-by: Andrey Darascheka <[email protected]>
1 parent faddc74 commit ec42789

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
@@ -2093,9 +2093,10 @@ def extract(self, member, path="", set_attrs=True, *, numeric_owner=False):
20932093

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

Misc/ACKS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1957,5 +1957,6 @@ Gennadiy Zlobin
19571957
Doug Zongker
19581958
Peter Åstrand
19591959
Vlad Emelianov
1960+
Andrey Doroschenko
19601961

19611962
(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)