Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import zipfile
- def isdir(z, name):
- return any(x.startswith("%s/" % name.rstrip("/")) for x in z.namelist())
- f = zipfile.ZipFile("sample.zip", "r")
- print isdir(f, "a")
- print isdir(f, "a/b")
- print isdir(f, "a/X")
- any(x.startswith("%s/" % name.rstrip("/")) for x in z.namelist())
- $ mkdir -p a/b/c/d
- $ touch a/X
- $ zip -r sample.zip a
- adding: a/ (stored 0%)
- adding: a/X (stored 0%)
- adding: a/b/ (stored 0%)
- adding: a/b/c/ (stored 0%)
- adding: a/b/c/d/ (stored 0%)
- $ python z.py
- True
- True
- False
- import os, zipfile
- dir = "some/directory/"
- z = zipfile.ZipFile("myfile.zip")
- if dir in z.namelist():
- print "Found %s!" % dir
- import zipfile
- z = zipfile.ZipFile("file.zip")
- if "DirName/" in [member.filename for member in z.infolist()]:
- print("Directory exists in archive")
- def is_dir(self):
- """Return True if this archive member is a directory."""
- return self.filename[-1] == '/'
- def is_dir(zipinfo):
- return "filemode='d" in zipinfo.__repr__()
- def is_dir(fileinfo):
- hi = fileinfo.external_attr >> 16
- return (hi & 0x4000) > 0
Add Comment
Please, Sign In to add comment