python将字符串直接写入tarfile [英] python write string directly to tarfile
本文介绍了python将字符串直接写入tarfile的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
解决方案
我会说这是可能的,通过TarInfo和TarFile玩。传递一个StringIO作为一个文件对象的addfile。
非常粗糙,但是工作原理
import tarfile
import StringIO
$ b $ tar = tarfile.TarFile(test.tar,w)
string = StringIO.StringIO()
string.write( hello)
string.seek(0)
info = tarfile.TarInfo(name =foo)
info.size = len(string.buf)
tar.addfile (tarinfo = info,fileobj = string)
tar.close()
Is there a way to write a string directly to a tarfile? From http://docs.python.org/library/tarfile.html it looks like only files already written to the file system can be added.
解决方案
I would say it's possible, by playing with TarInfo e TarFile.addfile passing a StringIO as a fileobject.
Very rough, but works
import tarfile
import StringIO
tar = tarfile.TarFile("test.tar","w")
string = StringIO.StringIO()
string.write("hello")
string.seek(0)
info = tarfile.TarInfo(name="foo")
info.size=len(string.buf)
tar.addfile(tarinfo=info, fileobj=string)
tar.close()
这篇关于python将字符串直接写入tarfile的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文