当前位置: 首页>>代码示例>>Python>>正文


Python ZipFile.write方法代码示例

本文整理汇总了Python中zipfile.ZipFile.write方法的典型用法代码示例。如果您正苦于以下问题:Python ZipFile.write方法的具体用法?Python ZipFile.write怎么用?Python ZipFile.write使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在zipfile.ZipFile的用法示例。


在下文中一共展示了ZipFile.write方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: generate_zip_package

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import write [as 别名]
def generate_zip_package(directory, session, cards):

	if not os.path.exists(directory):
		os.makedirs(directory)

	for lemma, card in cards.iteritems():

		if card.has_key('image'):
			imagepath = directory + ('/%s-%s-%s.%s' % (card['language'], card['pos'], card['lemma'], card['image'].split('.')[-1]))
			card['imagepath'] = os.path.basename(imagepath)
			urlretrieve(card['image'], imagepath)
		if card.has_key('audiosample'):
			print card['audiosample']
			audiopath = directory + ('/%s-%s-%s.%s' % (card['language'], card['pos'], card['lemma'], 'mp3'))
			card['audiopath'] = os.path.basename(audiopath)
			if os.path.exists(card['audiosample'][1:]):
				os.rename(card['audiosample'][1:], audiopath)
			else:
				print 'Audiosample ' + audiopath + ' for "' + card['lemma'] +'" not found.'

	csvpath = directory + '/%s.csv' % (session,)
	generate_csv(csvpath, cards)

	files = os.listdir(directory)
	if 'cache' in files:
		files.remove('cache')
	zippath = 'static/downloads/%s.zip' % (session,)
	zipfile = ZipFile(zippath, 'w')

	for f in files:
		zipfile.write(directory + '/' + f, f)
	zipfile.close()

	return zippath
开发者ID:lltk,项目名称:Koko,代码行数:36,代码来源:koko.py

示例2: pack

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import write [as 别名]
    def pack(self, output_dir, devel=False, force=False, keep_temp=False):
        self.output_dir = os.path.realpath(output_dir)
        if not os.path.exists(self.output_dir):
            os.makedirs(self.output_dir)
        self.force = force
        self.keep_temp = keep_temp

        paths = []
        self.merge_modules = {}

        # create runtime package
        p = self._create_msi_installer(PackageType.RUNTIME)
        paths.append(p)

        # create devel package
        if devel and not isinstance(self.package, App):
            p = self._create_msi_installer(PackageType.DEVEL)
            paths.append(p)

        # create zip with merge modules
        self.package.set_mode(PackageType.RUNTIME)
        zipf = ZipFile(os.path.join(self.output_dir, '%s-merge-modules.zip' %
                                    self._package_name()), 'w')
        for p in self.merge_modules[PackageType.RUNTIME]:
            zipf.write(p)
        zipf.close()

        if not keep_temp:
            for msms in self.merge_modules.values():
                for p in msms:
                    os.remove(p)

        return paths
开发者ID:itsdrpatel,项目名称:cerbero,代码行数:35,代码来源:wix_packager.py

示例3: on_get

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import write [as 别名]
	def on_get(self, req, resp, eval_id):
		try:
			user = req.context['user']

			if (not user.is_logged_in()) or (not user.is_org()):
				resp.status = falcon.HTTP_400
				return

			inMemoryOutputFile = StringIO()
			zipFile = ZipFile(inMemoryOutputFile, 'w')

			files = [ r for (r, ) in session.query(model.SubmittedFile.path).\
				filter(model.SubmittedFile.evaluation == eval_id).distinct() ]

			for fname in files:
				if os.path.isfile(fname):
					zipFile.write(fname, os.path.basename(fname))

			zipFile.close()

			resp.set_header('Content-Disposition', "inline; filename=\"eval_" + str(eval_id) + ".zip\"")
			resp.content_type = "application/zip"
			resp.stream_len = inMemoryOutputFile.len
			resp.body = inMemoryOutputFile.getvalue()

			inMemoryOutputFile.close()
		except SQLAlchemyError:
			session.rollback()
			raise
		finally:
			session.close()
开发者ID:fi-ksi,项目名称:web-backend,代码行数:33,代码来源:submFilesEval.py

示例4: upload_analyzer

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import write [as 别名]
    def upload_analyzer(self):
        """Upload analyzer to guest.
        @return: operation status.
        """
        zip_data = StringIO()
        zip_file = ZipFile(zip_data, "w", ZIP_DEFLATED)

        root = os.path.join("analyzer", self.platform)
        root_len = len(os.path.abspath(root))

        if not os.path.exists(root):
            log.error("No valid analyzer found at path: %s" % root)
            return False

        for root, dirs, files in os.walk(root):
            archive_root = os.path.abspath(root)[root_len:]
            for name in files:
                path = os.path.join(root, name)
                archive_name = os.path.join(archive_root, name)
                zip_file.write(path, archive_name, ZIP_DEFLATED)

        zip_file.close()
        data = xmlrpclib.Binary(zip_data.getvalue())
        zip_data.close()

        log.debug("Uploading analyzer to guest (ip=%s)" % self.ip)
        self.server.add_analyzer(data)
开发者ID:Fuitad,项目名称:cuckoo-1,代码行数:29,代码来源:guest.py

示例5: automerge

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import write [as 别名]
def automerge(params):
    print "Resourcepack Auto-Merge Begin"
    os.mkdir('myresourcepack')
    
    pack1 = ZipFile(params[0])
    pack2 = ZipFile(params[1])

    print "Extracting "+pack1.filename+"..."
    pack1.extractall('myresourcepack/')
    print "Extracting "+pack2.filename+"..."
    pack2.extractall('myresourcepack/')
    
    print "Creating pack.mcmeta file..."
    
    packMeta1 = getPackMeta(pack1)
    packMeta2 = getPackMeta(pack2)
    resultMeta = mergePackMeta(packMeta1,packMeta2)
    with open('myresourcepack/pack.mcmeta','w') as f:
        f.write(json.dumps(resultMeta))
    print "pack.mcmeta created"
    
    print "Creating final zip..."
    # Begin: Thanks to http://stackoverflow.com/a/3612455
    target_dir = 'myresourcepack'
    zip = ZipFile('myresourcepack.zip', 'w')
    rootlen = len(target_dir) + 1
    for base, dirs, files in os.walk(target_dir):
        for file in files:
            fn = os.path.join(base, file)
            zip.write(fn, fn[rootlen:])
    # End stackoverflow thing
    print "Auto-Merge done!"
开发者ID:tomsik68,项目名称:ResourcePack-Utils,代码行数:34,代码来源:resourcepack.py

示例6: addFile

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import write [as 别名]
 def addFile(self, filePath):
     """ Add other file type. """
     acceptedFormats = ('png','jpg','jpeg','pdf','txt','csv','dat')
     contents = self.listContents()
     fileBase = os.path.basename(filePath)
     fileName, fileFormat = os.path.splitext(fileBase)
     zf = ZipFile(self.combinePath, 'a')
     if os.path.exists(filePath):
         if filePath.lower().endswith(acceptedFormats):
             if filePath.lower().endswith(('png', 'jpg', 'jpeg')):
                 numSame = 0
                 while contents.count("fig/" + fileName + fileFormat) == 1:
                     fileName = fileName + '_' + str(numSame)
                     numSame += 1
                 zf.write(filePath, arcname="fig/" + fileName + fileFormat)
             if filePath.lower().endswith(('pdf', 'txt', 'csv', 'dat')):
                 numSame = 0
                 while contents.count("data/" + fileName + fileFormat) == 1:
                     fileName = fileName + '_' + str(numSame)
                     numSame += 1
                 zf.write(filePath, arcname="data/" + fileName + fileFormat)
         else:
             raise Exception("Unsupported file format")
     else:
         raise Exception("Cannot find the file")
     zf.close()
     self.updateManifest(fileName + fileFormat, fileFormat[1:])
开发者ID:yarden,项目名称:tellurium,代码行数:29,代码来源:tecombine.py

示例7: addFile

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import write [as 别名]
    def addFile(self, filePath):
        """ Adds other file into COMBINE archive.

        Currently, png, jpg, pdf, txt, csv, dat formats are supported.

        :param filePath: path to the file
        """
        warnings.warn('Use inline_omex instead.', DeprecationWarning)
        acceptedFormats = ('png','jpg','jpeg','pdf','txt','csv','dat')
        contents = self.listContents()
        fileBase = os.path.basename(filePath)
        fileName, fileFormat = os.path.splitext(fileBase)
        zf = ZipFile(self.combinePath, 'a')
        if os.path.exists(filePath):
            if filePath.lower().endswith(acceptedFormats):
                if filePath.lower().endswith(('png', 'jpg', 'jpeg')):
                    numSame = 0
                    while contents.count("fig/" + fileName + fileFormat) == 1:
                        fileName = fileName + '_' + str(numSame)
                        numSame += 1
                    zf.write(filePath, arcname="fig/" + fileName + fileFormat)
                if filePath.lower().endswith(('pdf', 'txt', 'csv', 'dat')):
                    numSame = 0
                    while contents.count("data/" + fileName + fileFormat) == 1:
                        fileName = fileName + '_' + str(numSame)
                        numSame += 1
                    zf.write(filePath, arcname="data/" + fileName + fileFormat)
            else:
                raise Exception("Unsupported file format")
        else:
            raise Exception("Cannot find the file")
        zf.close()
        self.updateManifest(fileName + fileFormat, fileFormat[1:])
开发者ID:kirichoi,项目名称:tellurium,代码行数:35,代码来源:tecombine.py

示例8: zipdir

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import write [as 别名]
def zipdir(dirpath, zippath, keep_meta = False):
	archive = ZipFile(zippath, 'w')
	for root, dirs, files in os.walk(dirpath):
		for filepath in files:
			if keep_meta or not 'META-INF' in root:
				archive.write(os.path.join(root, filepath), os.path.join(root, filepath)[len(dirpath):])
	archive.close()
开发者ID:0bj3ct,项目名称:manifesto,代码行数:9,代码来源:manifesto.py

示例9: build_cache_file

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import write [as 别名]
    def build_cache_file(self, format, version):

        cache_file_path = self.get_cache_file_path(format, version)

        logger.info('building cache for: %s' % (cache_file_path))

        try:
            os.remove(cache_file_path)

        except Exception as e:
            pass


        archive_file = ZipFile(cache_file_path, "w")

        """
        adding corresponding media files
        """
        for media in self.get_media():
            media_cache_file = media.inject_metadata(format, version)

            # filename for the file archive
            file_name = '%02d - %s - %s' % (media.tracknumber, media.artist.name, media.name)
            file_name = '%s.%s' % (file_name.encode('ascii', 'ignore'), format)

            archive_file.write(media_cache_file.path, file_name)


        return cache_file_path
开发者ID:hzlf,项目名称:openbroadcast.org,代码行数:31,代码来源:releasemodels.py

示例10: addSBML

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import write [as 别名]
 def addSBML(self, sbmlPath, filename=None):
     """ Adds SBML file into COMBINE archive.
     :param sbmlPath: path to SBML file or full SBML file string
     """
     warnings.warn('Use inline_omex instead.', DeprecationWarning)
     modelname = self.getModelName(sbmlPath)
     contents = self.listContents()
     zf = ZipFile(self.combinePath, 'a')
     if os.path.exists(sbmlPath):
         numSame = 0
         while contents.count(modelname + '.xml') == 1:
             # This should never happen (breaks the SEDML files)
             modelname = modelname + '_' + str(numSame) + '.xml'
             numSame += 1
         if filename != None:
             if filename[-3:] != ('xml' or 'sbml'):
                 filename = filename + '.xml'
             modelname = filename
         zf.write(sbmlPath, arcname=modelname)
     elif sbmlPath.startswith(r'<?xml'):
         numSame = 0
         while contents.count(modelname + '.xml') == 1:
             modelname = modelname + '_' + str(numSame) + '.xml'
             numSame += 1
         if filename != None:
             if filename[-3:] != ('xml' or 'sbml'):
                 filename = filename + '.xml'
             modelname = filename
         zf.writestr(modelname, sbmlPath)
     else:
         raise Exception("Invalid string for sbml: Check the path of the file")
     zf.close()
     self.updateManifest(modelname, 'sbml')
开发者ID:kirichoi,项目名称:tellurium,代码行数:35,代码来源:tecombine.py

示例11: do_zip

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import write [as 别名]
def do_zip(filename):
    zip = ZipFile(filename, "w")
    for dirpath, dirname, filename in os.walk("./"):
        for fn in filename:
            if fn != ZIP_NAME:
                zip.write(os.path.join(dirpath, fn))
    zip.close()
开发者ID:1060460048,项目名称:root-tools,代码行数:9,代码来源:patchadt.py

示例12: zipo

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import write [as 别名]
def zipo(request,pk):
    """Constructs a zip file in memory for users to download."""

    p = get_object_or_404(Paper,pk=pk)
    if not(p.should_have_data()):
        raise Http404("Paper has no data.");

    zip_buff=StringIO()
    zip_file=ZipFile(zip_buff,'w')

    rm=settings.README
    if rm and os.path.isfile(rm):
        zip_file.write(rm,os.path.basename(rm))

    dp=p.download_path()
    for root,_,basenames in os.walk(dp):
        for name in basenames:
            path=os.path.join(root,name)
            an=path.replace(dp,'')
            zip_file.write(path,arcname=an)
    zip_file.close()

    out=HttpResponse(zip_buff.getvalue(),content_type="application/zip")
    out['Content-Disposition'] = 'attachment; filename="%s_%d.zip"' % (settings.DOWNLOAD_PREFIX,p.pmid)
    return out
开发者ID:abarysh,项目名称:YeastPhenome.org,代码行数:27,代码来源:views.py

示例13: build

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import write [as 别名]
  def build(self, path, overwrite=False):
    """Create the project archive.

    :param path: Destination path.
    :param overwrite: Don't throw an error if a file already exists at `path`.

    Triggers the :meth:`~azkaban.job.Job.on_build` method on each job inside the
    project (passing itself and the job's name as two argument). This method
    will be called right before the job file is generated.

    """
    logger.debug('building project')
    # not using a with statement for compatibility with older python versions
    if exists(path) and not overwrite:
      raise AzkabanError('Path %r already exists.' % (path, ))
    if not (len(self._jobs) or len(self._files)):
      raise AzkabanError('Building empty project.')
    writer = ZipFile(path, 'w')
    try:
      for name, job in self._jobs.items():
        job.on_build(self, name)
        with temppath() as fpath:
          job.build(fpath)
          writer.write(fpath, '%s.job' % (name, ))
      for fpath, apath in self._files.items():
        writer.write(fpath, apath)
    finally:
      writer.close()
开发者ID:zhizhounq,项目名称:azkaban,代码行数:30,代码来源:project.py

示例14: ZippingTestCase

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import write [as 别名]
class ZippingTestCase(TestCase):

    def setUp(self):
        self.img = create_image()
        self.image_name = 'test_file.jpg'
        self.filename = os.path.join(os.path.dirname(__file__),
                                 self.image_name)
        self.img.save(self.filename, 'JPEG')

        self.file = DjangoFile(open(self.filename), name=self.image_name)

        self.zipfilename = 'test_zip.zip'

        self.zip = ZipFile(self.zipfilename, 'a')
        self.zip.write(self.filename)
        self.zip.close()

    def tearDown(self):
        # Clean up the created zip file
        os.remove(self.zipfilename)
        os.remove(self.filename)

    def test_unzipping_works(self):
        result = unzip(self.zipfilename)
        self.assertEqual(result[0][0].name, self.file.name)
开发者ID:Alexandrov-Michael,项目名称:mega-zont,代码行数:27,代码来源:utils.py

示例15: close

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import write [as 别名]
    def close(self):
        if self.__closed:
            return

        tmp_filename = self._fh.name
        self._fh.close()
        self.__closed = True
        try:
            # write everything to the zipfile
            if "w" in self.__mode:
                inner_filename = self.__inner_filename
                if not inner_filename:
                    base, ext = os.path.splitext(self.__filename)
                    inner_filename = os.path.basename(base) + ".txt"

                _log.debug("Compressing %s" % (self.__filename))
                zip_fh = ZipFile(self.__filename, "w", self.__compression)
                try:
                    zip_fh.write(tmp_filename, inner_filename)
                finally:
                    zip_fh.close()
        finally:
            # delete the tempfile
            self.__unlink(tmp_filename)
            self._fh = None
开发者ID:RomanShestakov,项目名称:mdf,代码行数:27,代码来源:simplezipfile.py


注:本文中的zipfile.ZipFile.write方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。