On Tue, October 10, 2006 11:15 am, Magnus Wirström wrote: > Hi everyone > > I have written a app that makes a tar file and all works well... Now > i want to expand that app so it can read read the tar and give me the > contents of the tar file. How is the best way to do this ? I can't > find a "listdir" like function in tarfile. Can anyone point me in the > right direction? Thanks Magnus
There are two choices depending on your needs. First is the list() method of a TarFile object: >>> from tarfile import TarFile >>> tar = TarFile('files.tar') >>> tar.list() -rw-r--r-- chanson/chanson 0 2006-10-10 11:31:08 file.1 -rw-r--r-- chanson/chanson 0 2006-10-10 11:31:11 file.2 -rw-r--r-- chanson/chanson 0 2006-10-10 11:31:15 file.3 The second option is the getmembers() method which returns TarInfo objects: >>> members = tar.getmembers() >>> for member in members: ... print member.name ... file.1 file.2 file.3 >>> for member in members: ... print "%s %s/%s\t%s %s %s" % ( ... member.mode, member.uname, member.gname, ... member.size, member.mtime, member.name) ... 420 chanson/chanson 0 1160505068 file.1 420 chanson/chanson 0 1160505071 file.2 420 chanson/chanson 0 1160505075 file.3 -- Carlos Hanson Web and System Administrator Tigard-Tualatin School District 503.431.4053 _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor