##
7.19.2 TarInfo Objects

A `TarInfo` object represents one member in a `TarFile`. Aside from storing all required attributes of a file (like file type, size, time, permissions, owner etc.), it provides some useful methods to determine its type. It does not contain the file's data itself.

`TarInfo` objects are returned by `TarFile`'s methods `getmember()`, `getmembers()` and `gettarinfo()`.

class `TarInfo`( | [name])

  Create a `TarInfo` object.

`frombuf`( | )

  Create and return a `TarInfo` object from a string buffer.

`tobuf`( | )

  Create a string buffer from a `TarInfo` object.

A `TarInfo` object has the following public data attributes:

`name`
  Name of the archive member.

`size`
  Size in bytes.

`mtime`
  Time of last modification.

`mode`
  Permission bits.

`type`
  File type. type is usually one of these constants: `REGTYPE, AREGTYPE, LNKTYPE, SYMTYPE, DIRTYPE, FIFOTYPE, CONTTYPE, CHRTYPE, BLKTYPE, GNUTYPE_SPARSE`. To determine the type of a `TarInfo` object more conveniently, use the `is_*()` methods below.

`linkname`
  Name of the target file name, which is only present in `TarInfo` objects of type LNKTYPE and SYMTYPE.

`uid, gid`
  User and group ID of who originally stored this member.

`uname, gname`
  User and group name.

A `TarInfo` object also provides some convenient query methods:

`isfile`( | )

  Return `True` if the `Tarinfo` object is a regular file.

`isreg`( | )

  Same as `isfile()`.

`isdir`( | )

  Return `True` if it is a directory.

`issym`( | )

  Return `True` if it is a symbolic link.

`islnk`( | )

  Return `True` if it is a hard link.

`ischr`( | )

  Return `True` if it is a character device.

`isblk`( | )

  Return `True` if it is a block device.

`isfifo`( | )

  Return `True` if it is a FIFO.

`isdev`( | )

  Return `True` if it is one of character device, block device or FIFO.