создайте файл tar в строке, используя python - PullRequest
3 голосов
/ 30 августа 2010

Мне нужно создать файл tar, но как строку в памяти, а не как реальный файл.В качестве входных данных у меня есть одно имя файла и строка, содержащая связанное содержимое.Я ищу библиотеку Python, которую я могу использовать, и мне не нужно играть свою собственную роль.


Еще немного работы найдено эти функции , но использование объекта steam памяти кажется немного... не элегантный.И сделать так, чтобы он принимал входные данные из строк, выглядело еще более ... не элегантно.OTOH это работает.Я предполагаю, поскольку большая часть этого является новой для меня.Кто-нибудь видит какие-либо ошибки в этом?

1 Ответ

15 голосов
/ 30 августа 2010

Используйте tarfile в сочетании с cStringIO :

c = cStringIO.StringIO()
t = tarfile.open(mode='w', fileobj=c)
# here: do your work on t, then...:
s = c.getvalue()   # extract the bytestring you need
...