I'm using Python's gzip module to gzip content for a single file, using code similar to the example in the docs:
import gzip
content = "Lots of content here"
f = gzip.open('/home/joe/file.txt.gz', 'wb')
f.write(content)
f.close()
If I open the gz file in 7-zip, I see a folder hierarchy matching the path I wrote the gz to and my content is nested several folders deep, like /home/joe in the example above, or C: -> Documents and Settings -> etc in Windows.
How can I get the one file that I'm zipping to just be in the root of the gz file?
It looks like you will have to use GzipFile
directly:
import gzip
content = "Lots of content here"
real_f = open('/home/joe/file.txt.gz', 'wb')
f = gzip.GZipFile('file.txt.gz', fileobj=real_f)
f.write(content)
f.close()
real_f.close()
It looks like open
doesn't allow you to specify the fileobj
separate from the filename.
You must use gzip.GzipFile
and supply a fileobj
. If you do that, you can specify an arbitrary filename for the header of the gz file.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With