[Tutor] Reading individual file from tar file as a file object

xbmuncher xboxmuncher at gmail.com
Thu Oct 8 22:10:58 CEST 2009

I have a large tar.bz2 file that I want to extract certain files directly to
an FTP path.
Since the extract() method doesn't accept ftp paths...  I wanted to read the
files from the tar file like a file object or file I/O stream.
Is there a way to do this?
Here's my pseudocode:

import tarfile

def putThisDataSomewhere(data):
    #write it to a file in FTP

tar = tarfile.open("HUGE_FILE_OVER_5GB.tar.bz2", "r:bz2")
readSize = 50

for tarInfo in tar:
    fileSize = tarInfo.size

    #prepare for loop to read specific file inside tar
    if readSize > fileSize
        readSize = fileSize
    readIterations = fileSize/readSize

    #loop & read file
    for i in range(readIterations):

    #catch remainder of file
    lastReadSize = fileSize - (readSize * readIterations)
    if lastReadSize:

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20091008/a1aef4c3/attachment-0001.htm>

More information about the Tutor mailing list