MCPcopy Index your code
hub / github.com/python/cpython / __init__

Method __init__

Lib/tarfile.py:1745–1847  ·  view source on GitHub ↗

Open an (uncompressed) tar archive 'name'. 'mode' is either 'r' to read from an existing archive, 'a' to append data to an existing file or 'w' to create a new file overwriting an existing one. 'mode' defaults to 'r'. If 'fileobj' is given, it is used for

(self, name=None, mode="r", fileobj=None, format=None,
            tarinfo=None, dereference=None, ignore_zeros=None, encoding=None,
            errors="surrogateescape", pax_headers=None, debug=None,
            errorlevel=None, copybufsize=None, stream=False)

Source from the content-addressed store, hash-verified

1743 extraction_filter = None # The default filter for extraction.
1744
1745 def __init__(self, name=None, mode="r", fileobj=None, format=None,
1746 tarinfo=None, dereference=None, ignore_zeros=None, encoding=None,
1747 errors="surrogateescape", pax_headers=None, debug=None,
1748 errorlevel=None, copybufsize=None, stream=False):
1749 """Open an (uncompressed) tar archive 'name'. 'mode' is either 'r' to
1750 read from an existing archive, 'a' to append data to an existing
1751 file or 'w' to create a new file overwriting an existing one. 'mode'
1752 defaults to 'r'.
1753 If 'fileobj' is given, it is used for reading or writing data. If it
1754 can be determined, 'mode' is overridden by 'fileobj's mode.
1755 'fileobj' is not closed, when TarFile is closed.
1756 """
1757 modes = {"r": "rb", "a": "r+b", "w": "wb", "x": "xb"}
1758 if mode not in modes:
1759 raise ValueError("mode must be 'r', 'a', 'w' or 'x'")
1760 self.mode = mode
1761 self._mode = modes[mode]
1762
1763 if not fileobj:
1764 if self.mode == "a" and not os.path.exists(name):
1765 # Create nonexistent files in append mode.
1766 self.mode = "w"
1767 self._mode = "wb"
1768 fileobj = bltn_open(name, self._mode)
1769 self._extfileobj = False
1770 else:
1771 if (name is None and hasattr(fileobj, "name") and
1772 isinstance(fileobj.name, (str, bytes))):
1773 name = fileobj.name
1774 if hasattr(fileobj, "mode"):
1775 self._mode = fileobj.mode
1776 self._extfileobj = True
1777 self.name = os.path.abspath(name) if name else None
1778 self.fileobj = fileobj
1779
1780 self.stream = stream
1781
1782 # Init attributes.
1783 if format is not None:
1784 self.format = format
1785 if tarinfo is not None:
1786 self.tarinfo = tarinfo
1787 if dereference is not None:
1788 self.dereference = dereference
1789 if ignore_zeros is not None:
1790 self.ignore_zeros = ignore_zeros
1791 if encoding is not None:
1792 self.encoding = encoding
1793 self.errors = errors
1794
1795 if pax_headers is not None and self.format == PAX_FORMAT:
1796 self.pax_headers = pax_headers
1797 else:
1798 self.pax_headers = {}
1799
1800 if debug is not None:
1801 self.debug = debug
1802 if errorlevel is not None:

Callers

nothing calls this directly

Calls 13

nextMethod · 0.95
strFunction · 0.85
fromtarfileMethod · 0.80
ReadErrorClass · 0.70
existsMethod · 0.45
abspathMethod · 0.45
tellMethod · 0.45
seekMethod · 0.45
appendMethod · 0.45
copyMethod · 0.45
writeMethod · 0.45

Tested by

no test coverage detected