Форум сайта python.su
Всем привет, с питоном не знаком, но возникла необходимость срочно реализовать функционал по распаковке всех gzip файлов в каталоге на jython, к сожалению два дня уже бьюсь ничего не получается.
очень прошу помочь) Спасибо)
Офлайн
вы покажите код на которым бьетесь а мы поправим !
Офлайн
Я пытался реализовать через команды Windows
но может возможно это реализовать средствами jython?
import os if os.system (<CODE>'for %%f in (D:\LOAD\XML\*.*) do D:\LOAD\BIN\gzip.exe -dc %%f > %%f.XML' </CODE> ) == 0 : print "success" else: print " failure "
Офлайн
from zipfile import ZipFile import os # unzip a file def unzip(path): zfile = zipfile.ZipFile(path) for name in zfile.namelist(): (dirname, filename) = os.path.split(name) if filename == '': # directory if not os.path.exists(dirname): os.mkdir(dirname) else: # file fd = open(name, 'w') fd.write(zfile.read(name)) fd.close() zfile.close()
import os def getSubs(dir): # get all dirs = [] files = [] for dirname, dirnames, filenames in os.walk(dir): dirs.append(dirname) for subdirname in dirnames: dirs.append(os.path.join(dirname, subdirname)) for filename in filenames: files.append(os.path.join(dirname, filename)) return files, dirs
Офлайн
А зачем вам питон? :)
import subprocess as sp sp.check_call("7z x *.gz")
Отредактировано doza_and (Сен. 10, 2013 07:50:28)
Офлайн
Спасибо огромное, попробую)
Офлайн
Добрый вечер.
ZerG на основе вашего кода написал вот что
from zipfile import ZipFile import os Arch_files = [] def getSubs(dir): for dirname, dirnames, filenames in os.walk(dir): for filename in filenames: Arch_files.append(os.path.join(dirname, filename)) # unzip a file def unzip(path): zfile = zipfile.ZipFile(path) for name in zfile.namelist(): (dirname, filename) = os.path.split(name) if filename == '': # directory if not os.path.exists(dirname):os.mkdir(dirname) else: # file fd = open(name, 'w') fd.write(zfile.read(name)) fd.close() zfile.close() getSubs('D:\tmp_gz\') for Arch_file in Arch_files: unzip(Arch_file)
for name in zfile.namelist():
Офлайн
Sergey32:) Вы просто очень спешите. Надо было наверное еще денька 3 подождать, чтобы хоть месяц прошел со дня постановки задачи распаковки gzip файлов.
не могу до конца понять
a='"a"'
Офлайн