2013-04-05 3 views
3

я совершаю:Плоские файлы внутри ZipFile в Python

z = zipfile.ZipFile('myzip.zip', 'w') 
z.write('/some/path/mytxt1.txt') 
z.write('/some/other/path/mytxt2.txt') 
z.close() 

Это сохранение пути к файлам в пределах почтового индекса. Я просто хочу, чтобы мои желаемые файлы сидели в zip-файле. Как я могу это сделать?

ответ

4

ZipFile.write() принимает второй аргумент, arcname. Просто установите его на os.path.basename() первого аргумента для удаления пути:

def zip_write(zip, filename): 
    zip.write(filename, os.path.basename(filename)) 

z = zipfile.ZipFile('myzip.zip', 'w') 
zip_write(z, '/some/path/mytxt1.txt') 
zip_write(z, '/some/other/path/mytxt2.txt') 
z.close() 
+0

Благодарим за быстрый ответ! – Raj

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