(self, tarinfo, fileobj=None)
Add the TarInfo object `tarinfo' to the archive. If `fileobj' is
           given, tarinfo.size bytes are read from it and added to the archive.
           You can create TarInfo objects using gettarinfo().
           On Windows platforms, `fileobj' should always be opened with mode
           'rb' to avoid irritation about the file size.
Add the TarInfo object `tarinfo' to the archive. If `fileobj' is
           given, tarinfo.size bytes are read from it and added to the archive.
           You can create TarInfo objects using gettarinfo().
           On Windows platforms, `fileobj' should always be opened with mode
           'rb' to avoid irritation about the file size.
Add the TarInfo object tarinfo to the archive . If fileobj is given tarinfo . size bytes are read from it and added to the archive . You can create TarInfo objects using gettarinfo () . On Windows platforms fileobj should always be opened with mode rb to avoid irritation about the file size .
def addfile(self, tarinfo, fileobj=None):
        """Add the TarInfo object `tarinfo' to the archive. If `fileobj' is
           given, tarinfo.size bytes are read from it and added to the archive.
           You can create TarInfo objects using gettarinfo().
           On Windows platforms, `fileobj' should always be opened with mode
           'rb' to avoid irritation about the file size.
        """
        self._check("aw")

        tarinfo = copy.copy(tarinfo)

        buf = tarinfo.tobuf(self.format, self.encoding, self.errors)
        self.fileobj.write(buf)
        self.offset += len(buf)

        # If there's data to follow, append it.
        if fileobj is not None:
            copyfileobj(fileobj, self.fileobj, tarinfo.size)
            blocks, remainder = divmod(tarinfo.size, BLOCKSIZE)
            if remainder > 0:
                self.fileobj.write(NUL * (BLOCKSIZE - remainder))
                blocks += 1
            self.offset += blocks * BLOCKSIZE

        self.members.append(tarinfo)
def addfile ( self , tarinfo , fileobj = None ) : self . _check ( "aw" ) tarinfo = copy . copy ( tarinfo ) buf = tarinfo . tobuf ( self . format , self . encoding , self . errors ) self . fileobj . write ( buf ) self . offset += len ( buf ) # If there's data to follow, append it. if fileobj is not None : copyfileobj ( fileobj , self . fileobj , tarinfo . size ) blocks , remainder = divmod ( tarinfo . size , BLOCKSIZE ) if remainder > 0 : self . fileobj . write ( NUL * ( BLOCKSIZE - remainder ) ) blocks += 1 self . offset += blocks * BLOCKSIZE self . members . append ( tarinfo )