Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 10, 2009 18:29:46

sinopteek
От:
Зарегистрирован: 2009-09-28
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

Модуль zipfile, кодировки и пути

Есть такой код - пакует файл в отдельном потоке. На вход подаём имя входного и выходного файлов.

class AsyncZip(threading.Thread):
def __init__(self, infile, outfile):
threading.Thread.__init__(self)
self.infile = infile
self.outfile = outfile
def run(self):
f = zipfile.ZipFile(self.outfile, 'w', zipfile.ZIP_DEFLATED)
f.write(self.infile)
f.close()
os.remove(self.infile)
print 'Finished background zip of: ', self.infile
Пытаюсь сделать следующее - взять файл и запаковать его в папку. пример (1.txt,out\1.zip)
Под windows всё работает прекрасно - пакуется в папку. Под linux out\ - уходит в имя файла(чего совсем не требуется). Вариант скопировать запакованный файл из этой папки в любую другую, конечно, есть, но может есть какие другие варианты?



Офлайн

#2 Дек. 10, 2009 20:00:16

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Модуль zipfile, кодировки и пути

А может лучше так: ('1.txt', os.path.join('out', ‘1.zip’) ?



Офлайн

#3 Дек. 10, 2009 21:44:32

pasaranax
От:
Зарегистрирован: 2009-06-13
Сообщения: 574
Репутация: +  0  -
Профиль   Отправить e-mail  

Модуль zipfile, кодировки и пути

или так (1.txt,out/1.zip)
:)



Офлайн

#4 Дек. 10, 2009 23:42:24

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

Модуль zipfile, кодировки и пути

Даже если подумать о том, что ты, pasaranax, просто описался, способ Ed правильнее. Ибо.



Отредактировано (Дек. 10, 2009 23:42:50)

Офлайн

#5 Дек. 12, 2009 08:57:23

sinopteek
От:
Зарегистрирован: 2009-09-28
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

Модуль zipfile, кодировки и пути

Ed
А может лучше так: ('1.txt', os.path.join('out', ‘1.zip’) ?
Спасибо, работает.
Про наклон косой черты догадался уже когда практически спал. Но этот вариант красивее и правильнее



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version