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


Python ZipFile.namelist方法代码示例

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


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

示例1: _read

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import namelist [as 别名]
    def _read(self) :
        global MANIFEST_FNAME

        z = ZipFile(self.fname, 'r', compression=self.compression)
    
        def _err(msg) :
            z.close()
            raise GluttonImportantFileNotFoundError(msg)
    
        # without the manifest all is lost
        # we need this to get the names of the other
        # XML files
        if MANIFEST_FNAME not in z.namelist() :
            _err('manifest not found in %s' % self.fname)

        self.metadata = json.load(z.open(MANIFEST_FNAME))
        
        self.log.info("read manifest - created on %s using glutton version %.1f" % \
            (time.strftime('%d/%m/%y at %H:%M:%S', time.localtime(self.download_time)), \
             self.version))

        # the data file is the raw data grouped into gene families
        # when we do a local alignment we need to get the gene id
        # of the best hit and find out which gene family it belongs to 
        if self.metadata['data-file'] not in z.namelist() :
            _err('data file (%s) not found in %s' % (self.metadata['data-file'], self.fname))

        self.data = json_to_glutton(json.load(z.open(self.metadata['data-file'])))
        self.seq2famid = self._create_lookup_table(self.data)

        self.log.info("read %d gene families (%d genes)" % (len(self.data), len(self.seq2famid)))

        z.close()
开发者ID:ajm,项目名称:glutton,代码行数:35,代码来源:db.py

示例2: get_shp_from_zip

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import namelist [as 别名]
def get_shp_from_zip(zip_file):
    """
    extract components file parts of a shapefile from a zip file

    zip_file -- zip file
    """
    try:
        zip_f = ZipFile(zip_file, 'r')
    except BadZipfile:
        return None
    list_names = zip_f.namelist()
    d = {}
    for elem in list_names:
        t = elem.split('.')
        d[t[1].lower()] = t[0]
        ll = d.values()
    # shp name validation (same name)
    if all(x == ll[0] for x in ll):
        k = d.keys()
        # shp file  type validation
        if len(k) == 4 and (
                'shp' in k and 'dbf' in k and 'shx' in k and 'prj' in k):
            res = {}
        for name in zip_f.namelist():
            io = StringIO.StringIO()
            zo = zip_f.open(name, 'r')
            io.write(zo.read())  # .decode('ISO8859-1').encode('utf-8'))
            zo.close()
            res_file = InMemoryUploadedFile(
                io, None, name.lower(), 'text', io.len, None)
            res_file.seek(0)
            res[name.split('.')[1].lower()] = res_file
        return res
    else:
        return None
开发者ID:geolinkedata,项目名称:geolod-api,代码行数:37,代码来源:utils.py

示例3: test_graph_export_csv

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import namelist [as 别名]
 def test_graph_export_csv(self):
     create_graph(self)
     create_schema(self)
     create_type(self)
     create_data(self)
     self.browser.find_by_id('toolsMenu').first.click()
     cookies = {self.browser.cookies.all()[0]["name"]: self.browser.cookies.all()[0]["value"], self.browser.cookies.all()[1]["name"]: self.browser.cookies.all()[1]["value"]}
     result = requests.get(self.live_server_url + '/tools/bobs-graph/export/csv/', cookies=cookies)
     spin_assert(lambda: self.assertEqual(
         result.headers['content-type'], 'application/zip'))
     spin_assert(lambda: self.assertEqual(
         self.browser.status_code.is_success(), True))
     test_file = StringIO(result.content)
     csv_zip = ZipFile(test_file)
     for name in csv_zip.namelist():
         fw = open('sylva/sylva/tests/files/' + name, 'w')
         fw.write(csv_zip.read(name))
         fw.close()
     for name in csv_zip.namelist():
         f = open('sylva/sylva/tests/files/' + name)
         csvFile = ""
         for line in f:
             csvFile += line
         f.close()
         spin_assert(lambda: self.assertEqual(csv_zip.read(name), csvFile))
     Graph.objects.get(name="Bob's graph").destroy()
开发者ID:cirocco,项目名称:Sylva,代码行数:28,代码来源:data_node.py

示例4: __init__

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import namelist [as 别名]
class ZipfileReader:
    """ Reads files from an imported zip file. """

    def __init__(self, files):
        self.files = ZipFile(files)
        self.fullpath = ''


    def readManifest(self):
        """ Get the maifest file if it exists. """
        for x in self.files.namelist():
            index = x.find('imsmanifest.xml')
            if index != -1:
                self.fullpath = x[:index]
                return self.files.read(x)
        return None
    

    def readFile(self, path):
        """ Get file data from the zip file. """
        fn = '%s%s' %(self.fullpath, str(path))
        if fn not in self.files.namelist():
            fn = fn.replace('/', '\\')
            if fn not in self.files.namelist():
                return None
        return self.files.read(fn)

    def listFiles(self):
        """ List files in the package. """
        return self.files.namelist()
开发者ID:dtgit,项目名称:dtedu,代码行数:32,代码来源:Manifest.py

示例5: run

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import namelist [as 别名]
def run(file_name):
    config_dict = False
    jar = ZipFile(file_name, 'r')
    # Version A
    if 'a.txt' and 'b.txt' in jar.namelist():
        pre_key = jar.read('a.txt')
        enckey = ['{0}{1}{0}{1}a'.format('plowkmsssssPosq34r', pre_key),
                  '{0}{1}{0}{1}a'.format('kevthehermitisaGAYXD', pre_key)
                  ]
        coded_jar = jar.read('b.txt')
        config_dict = version_a(enckey, coded_jar)

    # Version B
    if 'ID' and 'MANIFEST.MF' in jar.namelist():
        pre_key = jar.read('ID')
        enckey = ['{0}H3SUW7E82IKQK2J2J2IISIS'.format(pre_key)]
        coded_jar = jar.read('MANIFEST.MF')
        config_dict = version_b(enckey, coded_jar)

    # Version C
    if 'resource/password.txt' and 'resource/server.dll' in jar.namelist():
        pre_key = jar.read('resource/password.txt')
        enckey = ['CJDKSIWKSJDKEIUSYEIDWE{0}'.format(pre_key)]
        coded_jar = jar.read('resource/server.dll')
        config_dict = version_c(enckey, coded_jar)

    # Version D
    if 'java/stubcito.opp' and 'java/textito.isn' in jar.namelist():
        pre_key = jar.read('java/textito.isn')
        enckey = ['TVDKSIWKSJDKEIUSYEIDWE{0}'.format(pre_key)]
        coded_jar = jar.read('java/stubcito.opp')
        config_dict = version_c(enckey, coded_jar)

    return config_dict
开发者ID:mitv1c,项目名称:RATDecoders,代码行数:36,代码来源:AlienSpy.py

示例6: load_and_save_scopes

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import namelist [as 别名]
	def load_and_save_scopes(self):
		scopes = set()
		for x in os.walk(sublime.packages_path() + '/..'):
			for f in glob.glob(os.path.join(x[0], '*.tmLanguage')):
				for s in self.get_scopes_from(plistlib.readPlist(f)):
					scopes.add(s.strip())

		for x in os.walk(os.path.dirname(sublime.executable_path())):
			for f in glob.glob(os.path.join(x[0], '*.sublime-package')):
				input_zip = ZipFile(f)
				for name in input_zip.namelist():
					if name.endswith('.tmLanguage'):
						for s in self.get_scopes_from(plistlib.readPlistFromBytes(input_zip.read(name))):
							scopes.add(s.strip())

		for x in os.walk(sublime.packages_path() + '/..'):
			for f in glob.glob(os.path.join(x[0], '*.sublime-package')):
				input_zip = ZipFile(f)
				for name in input_zip.namelist():
					if name.endswith('.tmLanguage'):
						for s in self.get_scopes_from(plistlib.readPlistFromBytes(input_zip.read(name))):
							scopes.add(s.strip())
		names = list(scopes)
		scopes = dict()
		for name in names:
			value = name
			if value.startswith('source.'):
				value = value[7:]
			elif value.startswith('text.'):
				value = value[5:]
			scopes[name] = value
		self.settings.set('scopes', scopes)
		sublime.save_settings('smart-pieces.sublime-settings')
开发者ID:webNeat,项目名称:smart-pieces-sublime-text,代码行数:35,代码来源:SmartPieces.py

示例7: _create_resource

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import namelist [as 别名]
    def _create_resource(self, data_set, site, file_):
        """ Creates a new resource or file associated with its data set
        :param data_set:
        :param site:
        :param file_:
        """
        #content of the zip file
        zip_file_name = file_.filename
        zip_path = os.path.join(config.DATA_SETS_DIR, zip_file_name)
        file_.save(zip_path)
        sourcezip = ZipFile(zip_path)
        i = 0
        while i < len(sourcezip.namelist()):
            zip_entry_path = os.path.join(os.path.abspath(os.path.dirname(zip_path)), sourcezip.namelist()[i])
            sourcezip.extract(sourcezip.namelist()[i], config.DATA_SETS_DIR)
            url = self.parser.get_file_name().replace(".zip","") + "_" + str(i)
            site.action.resource_create(package_id=data_set, upload=open(zip_entry_path),
                                        name=sourcezip.namelist()[i], url=url)
            i += 1

        #xml content
        xml_file_name = self.parser.get_dataset().id + ".xml"
        path = os.path.join(config.DATA_SETS_DIR, xml_file_name)
        with open(path, "w") as ttmp:
            ttmp.write(self._content.encode(encoding="utf-8"))
        url = xml_file_name
        site.action.resource_create(package_id=data_set, upload=open(path),
                                    name=xml_file_name, url=url)
开发者ID:weso,项目名称:landportal-receiver,代码行数:30,代码来源:ckan_service.py

示例8: get_rasters

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import namelist [as 别名]
def get_rasters(url, downloaddir='./Inputs'):
    """Download file and handle nonexist file.
       If not exist, an empty list returned. Hack...
       TODO: more elegent solution
    """
    try:
        fname = site.saveFile(url, dir=downloaddir)
        zipfname = '%s/%s' % (downloaddir, fname)
        print "***%s found, downloading as %s..." % (fname, zipfname)
        z = ZipFile(zipfname)
    except BadZipfile:
        print "***bad zip file"
        return [fname, ]
    # TODO fix error handling ???
    except:
        print "***empty zip file"
        return []

    rasters = []
    print "     zipped file namelist: ", z.namelist()
    for fname in z.namelist():
        if fname.endswith('/'):
            continue
        else:
            fname = os.path.basename(fname)
            rasters.append(fname)
            outfname = '%s/%s' % (downloaddir, fname)
            print "***get_raster: %s" % outfname
            with open(outfname, 'wb') as f:
                f.write(z.read(fname))
    os.remove(zipfname)
    print "***remove %s" % zipfname
    return rasters
开发者ID:HelenRouty,项目名称:LEAM-reorganize,代码行数:35,代码来源:startup.py

示例9: test_periodadmin_has_access

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import namelist [as 别名]
    def test_periodadmin_has_access(self):
        with self.settings(DEVILRY_COMPRESSED_ARCHIVES_DIRECTORY=self.backend_path):
            testassignment = mommy.make_recipe('devilry.apps.core.assignment_activeperiod_start',
                                               short_name='learn-python-basics',
                                               first_deadline=timezone.now() + timezone.timedelta(days=1))

            # Period admin
            periodpermissiongroup = mommy.make('devilry_account.PeriodPermissionGroup',
                                               period=testassignment.period)
            testuser = mommy.make(settings.AUTH_USER_MODEL)
            mommy.make('devilry_account.PermissionGroupUser',
                       user=testuser, permissiongroup=periodpermissiongroup.permissiongroup)

            self.__make_simple_setup(assignment=testassignment)

            # run actiongroup
            self._run_actiongroup(name='batchframework_assignment',
                                  task=tasks.AssignmentCompressAction,
                                  context_object=testassignment,
                                  started_by=testuser)

            archive_meta = archivemodels.CompressedArchiveMeta.objects.get(content_object_id=testassignment.id)
            zipfileobject = ZipFile(archive_meta.archive_path)
            self.assertEqual(1, len(zipfileobject.namelist()))
            self.assertTrue(zipfileobject.namelist()[0].startswith('{}'.format('april')))
开发者ID:devilry,项目名称:devilry-django,代码行数:27,代码来源:test_batchframework_tasks.py

示例10: test_tarball_aware_of_branches

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import namelist [as 别名]
 def test_tarball_aware_of_branches(self):
     rev = '19'
     branch_content = sorted(['test-svn-tags-19-branches-aaa/',
                              'test-svn-tags-19-branches-aaa/aaa.txt',
                              'test-svn-tags-19-branches-aaa/svn-commit.tmp',
                              'test-svn-tags-19-branches-aaa/README'])
     h.set_context('test', 'svn-tags', neighborhood='Projects')
     tmpdir = tg.config['scm.repos.tarball.root']
     tarball_path = os.path.join(tmpdir, 'svn/t/te/test/testsvn-trunk-tags-branches/')
     fn = tarball_path + 'test-svn-tags-19-branches-aaa.zip'
     self.svn_tags.tarball(rev, '/branches/aaa/')
     assert os.path.isfile(fn), fn
     snapshot = ZipFile(fn, 'r')
     assert_equal(sorted(snapshot.namelist()), branch_content)
     os.remove(fn)
     self.svn_tags.tarball(rev, '/branches/aaa/some/path/')
     assert os.path.isfile(fn), fn
     snapshot = ZipFile(fn, 'r')
     assert_equal(sorted(snapshot.namelist()), branch_content)
     os.remove(fn)
     # if inside of branches, but no branch is specified
     # expect snapshot of trunk
     fn = tarball_path + 'test-svn-tags-19-trunk.zip'
     self.svn_tags.tarball(rev, '/branches/')
     assert os.path.isfile(fn), fn
     snapshot = ZipFile(fn, 'r')
     assert_equal(sorted(snapshot.namelist()),
                  sorted(['test-svn-tags-19-trunk/',
                          'test-svn-tags-19-trunk/aaa.txt',
                          'test-svn-tags-19-trunk/bbb.txt',
                          'test-svn-tags-19-trunk/ccc.txt',
                          'test-svn-tags-19-trunk/README']))
     shutil.rmtree(tarball_path, ignore_errors=True)
开发者ID:wwitzel3,项目名称:incubator-allura,代码行数:35,代码来源:test_repository.py

示例11: open

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import namelist [as 别名]
    def open(zipname):
        zf = ZipFile(zipname, 'r')
        m = zf.read('META-INF/manifest.xml')
        manifest = Manifest.parse(m)

        def warn(resource):
            print(u"Warning: bundle {} does not contain resource {}, which is referred in its manifest.".format(zipname, resource).encode('utf-8'))

        result = Bundle()
        result.presets_data = []
        for preset in manifest.get_resources('paintoppresets'):
            if preset in zf.namelist():
                result.presets.append(preset)
                data = zf.read(preset)
                kpp = KPP(preset, data)
                result.presets_data.append(kpp)
            else:
                warn(preset)

        result.meta_string = zf.read("meta.xml")
        result.preview_data = zf.read("preview.png")

        for brush in manifest.get_resources('brushes'):
            if brush in zf.namelist():
                result.brushes.append(brush)
            else:
                warn(brush)
        for pattern in manifest.get_resources('patterns'):
            if pattern in zf.namelist():
                result.patterns.append(pattern)
            else:
                warn(pattern)
            
        zf.close()
        return result
开发者ID:portnov,项目名称:krita-bundler,代码行数:37,代码来源:bundle.py

示例12: find_plugin_yaml

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import namelist [as 别名]
def find_plugin_yaml(dataobj):
    """
        """
    yml = False
    try:
        # The first thing we are going to try to do is create a ZipFile
        # object with the StringIO data that we have.
        zfile = ZipFile(dataobj)
    except:
        print "[DEBUG] ZipFile Library Failed to Parse DataObject"
    else:
        # Before we start recursively jumping through hoops, lets first
        # check to see if the plugin.yml exists at this level.  If so, then
        # just set the yaml variable.  Otherwise we are gonna look for more
        # zip and jar files and dig into them.
        if "plugin.yml" in zfile.namelist():
            try:
                yml = yaml.load(zfile.read("plugin.yml"))
            except:
                return False
        else:
            for filename in zfile.namelist():
                if not yml and filename[-3:].lower() in ["zip", "jar"]:
                    print "[DEBUG] Found Zip/Jar file " + filename
                    data = StringIO()
                    data.write(zfile.read(filename))
                    yml = find_plugin_yaml(data)
                    data.close()
            zfile.close()
    return yml
开发者ID:BukGet,项目名称:devfiles,代码行数:32,代码来源:jarparse.py

示例13: test_multi_layer_dataset

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import namelist [as 别名]
def test_multi_layer_dataset(multi_layer_app, temp_file):
    req = Request.blank("/")
    resp = req.get_response(multi_layer_app)
    assert resp.status == "200 OK"

    for chunk in resp.app_iter:
        temp_file.write(chunk)
    temp_file.flush()

    z = ZipFile(temp_file.name, "r", ZIP_DEFLATED)
    assert z

    # Should be 2 files for each layer
    assert len(z.namelist()) == 2 * 4
    assert "my_grid_0.asc" in z.namelist()

    # find the first asc file
    asc_filename = filter(lambda x: x.endswith(".asc"), z.namelist())[0]

    with z.open(asc_filename, "r") as f:
        data = f.read()

    assert (
        data
        == """ncols        3
nrows        2
xllcorner    -122.500000000000
yllcorner    53.000000000000
dx           -0.500000000000
dy           1.000000000000
NODATA_value  -9999
 0 1 2
 3 4 5
"""
    )
开发者ID:pacificclimate,项目名称:pydap.responses.aaigrid,代码行数:37,代码来源:test_stuff.py

示例14: unzip

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import namelist [as 别名]
def unzip(filename, match_dir=False, destdir=None):
    """
    Extract all files from a zip archive
    filename: The path to the zip file
    match_dir: If True all files in the zip must be contained in a subdirectory
      named after the archive file with extension removed
    destdir: Extract the zip into this directory, default current directory

    return: If match_dir is True then returns the subdirectory (including
      destdir), otherwise returns destdir or '.'
    """
    if not destdir:
        destdir = '.'

    z = ZipFile(filename)
    unzipped = '.'

    if match_dir:
        if not filename.endswith('.zip'):
            raise FileException('Expected .zip file extension', filename)
        unzipped = os.path.basename(filename)[:-4]
        check_extracted_paths(z.namelist(), unzipped)
    else:
        check_extracted_paths(z.namelist())

    # File permissions, see
    # http://stackoverflow.com/a/6297838
    # http://stackoverflow.com/a/3015466
    for info in z.infolist():
        log.debug('Extracting %s to %s', info.filename, destdir)
        z.extract(info, destdir)
        os.chmod(os.path.join(destdir, info.filename),
                 info.external_attr >> 16 & 4095)

    return os.path.join(destdir, unzipped)
开发者ID:snoopycrimecop,项目名称:omego,代码行数:37,代码来源:fileutils.py

示例15: fetch

# 需要导入模块: from zipfile import ZipFile [as 别名]
# 或者: from zipfile.ZipFile import namelist [as 别名]
def fetch(arch,version,path,save=True):
    version = normalize_ver(version)
    path = path.lstrip('/')
    key = 'zip%s%s' % (version,path)
    base_url = get_base_url(arch, 0)
    base_url2 = get_base_url(arch, 1)
    #zdata = memcache.get(key)
    path = path.replace(' ','%20')
    zdata = get_from_storage(key,arch)
    if zdata is None:
        result = urlfetch.fetch('%s/%s/%s.zip' % (base_url,version,path),deadline=10)
        #print result.status_code
        if result.status_code != 200:
            result = urlfetch.fetch('%s/%s/%s.zip' % (base_url2,version,path))
        if result.status_code == 200:
            zdata = result.content
            #memcache.set(key,zdata)
            if save:
                try:
                    put_into_storage(key,zdata,arch)
                except:pass
            zdata = StringIO(zdata)
    if zdata is None:
        return None
    #zfp = ZipFile(StringIO(zdata), "r")
    #data = zfp.read(zfp.namelist()[0])#.decode("cp1251")
    #del zfp
    #return data
    zfp = ZipFile(zdata)
    try :
        #python 2.6+
        return zfp.open(zfp.namelist()[0])
    except:
        return StringIO(zfp.read(zfp.namelist()[0]))#.decode("cp1251")
开发者ID:scttcper,项目名称:hondiff,代码行数:36,代码来源:fetcher.py


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