Guest User

Untitled

a guest
Nov 13th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. import zipfile
  2.  
  3. def isdir(z, name):
  4. return any(x.startswith("%s/" % name.rstrip("/")) for x in z.namelist())
  5.  
  6. f = zipfile.ZipFile("sample.zip", "r")
  7. print isdir(f, "a")
  8. print isdir(f, "a/b")
  9. print isdir(f, "a/X")
  10.  
  11. any(x.startswith("%s/" % name.rstrip("/")) for x in z.namelist())
  12.  
  13. $ mkdir -p a/b/c/d
  14. $ touch a/X
  15. $ zip -r sample.zip a
  16. adding: a/ (stored 0%)
  17. adding: a/X (stored 0%)
  18. adding: a/b/ (stored 0%)
  19. adding: a/b/c/ (stored 0%)
  20. adding: a/b/c/d/ (stored 0%)
  21.  
  22. $ python z.py
  23. True
  24. True
  25. False
  26.  
  27. import os, zipfile
  28. dir = "some/directory/"
  29.  
  30. z = zipfile.ZipFile("myfile.zip")
  31. if dir in z.namelist():
  32. print "Found %s!" % dir
  33.  
  34. import zipfile
  35. z = zipfile.ZipFile("file.zip")
  36.  
  37. if "DirName/" in [member.filename for member in z.infolist()]:
  38. print("Directory exists in archive")
  39.  
  40. def is_dir(self):
  41. """Return True if this archive member is a directory."""
  42. return self.filename[-1] == '/'
  43.  
  44. def is_dir(zipinfo):
  45. return "filemode='d" in zipinfo.__repr__()
  46.  
  47. def is_dir(fileinfo):
  48. hi = fileinfo.external_attr >> 16
  49. return (hi & 0x4000) > 0
Add Comment
Please, Sign In to add comment