2015-04-05 2 views
3
хг

я заметил, что файл обработан не Aw:? Вариант хг или что-то подобное, есть ли способ, чтобы создать файл у меня есть хг этот код питонасоздать файл обработан файл

dir=tkFileDialog.askdirectory(initialdir="/home/david") 
     if x.get()=="gz": 
      tar = tarfile.open(dir+".tar.gz", "w:gz") 
      tar 
      for i in range(lbox.size()): 
       tar.add(e1.get()+"/"+lbox.get(i),arcname=lbox.get(i)) 
      tar.close() 
     if x.get()=="bz": 
      tar = tarfile.open(dir+".tar.gz", "w:bz2") 
      tar 
      for i in range(lbox.size()): 
       tar.add(e1.get()+"/"+lbox.get(i),arcname=lbox.get(i)) 
      tar.close() 
     if x.get()=="xz": 
      tar = tarfile.open(dir+".tar.gz", "w:gz") 
      tar 
      for i in range(lbox.size()): 
       tar.add(e1.get()+"/"+lbox.get(i),arcname=lbox.get(i)) 
      tar.close() 

ответ

3

Python версии 3.3 и выше есть опция, для которой вы ищете.

'w: xz' - открыт для сжатого письма lzma.

https://docs.python.org/3.3/library/tarfile.html

Для версий ниже 3.3 вы можете попробовать следующее

  • Предположим, вы присвоить значения inputFilename и имя_выходного_файла ранее в своем коде.
  • Обратите внимание, что с помощью с ключевым словом автоматически закрывает файл после того, как отступ код выполняются

Пример код:

import lzma 

# open input file as binary and read input data 
with open(inputFilename, 'rb') as iFile: 
    iData = iFile.read() 

# compress data 
oData = lzma.compress(iData) 

# open output file as binary and write compressed data 
with open(outputFilename, 'wb') as oFile: 
    oFile.write(oData) 

Я искал другие ответы, и я нашел запись, что упомянутую проблемы с импортом lzma в python 2.7. Обходной путь представлен в этой записи, в которой вы можете следовать.

Вот ссылка - Python 2.7: Compressing data with the XZ format using the "lzma" module

+0

я попробовал модуль LZMA, но питон ползунки закрывается, любая идея, почему, а также вес: XZ не работа, которая должна быть проблемы моей питона версии я думаю. ... – Ulrok

+0

работает отлично, спасибо – Ulrok

+0

Вы не пишете и не закрываете oFile –

Смежные вопросы