diff options
author | William Woodruff <william@yossarian.net> | 2020-01-23 02:24:16 (GMT) |
---|---|---|
committer | Ethan Furman <ethan@stoneleaf.us> | 2020-01-23 02:24:16 (GMT) |
commit | dd754caf144009f0569dda5053465ba2accb7b4d (patch) | |
tree | 536217d96dcb3e1d5f57b0bcd53da66059a15ad3 /Lib/tarfile.py | |
parent | 41f0ef6abbd304409c55612a08788cdd59fbc8a3 (diff) | |
download | cpython-dd754caf144009f0569dda5053465ba2accb7b4d.zip cpython-dd754caf144009f0569dda5053465ba2accb7b4d.tar.gz cpython-dd754caf144009f0569dda5053465ba2accb7b4d.tar.bz2 |
bpo-29435: Allow is_tarfile to take a filelike obj (GH-18090)
`is_tarfile()` now supports `name` being a file or file-like object.
Diffstat (limited to 'Lib/tarfile.py')
-rwxr-xr-x | Lib/tarfile.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Lib/tarfile.py b/Lib/tarfile.py index 2c06f91..d0b748c 100755 --- a/Lib/tarfile.py +++ b/Lib/tarfile.py @@ -2461,9 +2461,14 @@ class TarFile(object): def is_tarfile(name): """Return True if name points to a tar archive that we are able to handle, else return False. + + 'name' should be a string, file, or file-like object. """ try: - t = open(name) + if hasattr(name, "read"): + t = open(fileobj=name) + else: + t = open(name) t.close() return True except TarError: |