code: def test_getdata_zipfile(self):
      zip = "test_getdata_zipfile.zip"
      pkg = "test_getdata_zipfile"
  
      # Include a LF and a CRLF, to test that binary data is read back
      RESOURCE_DATA = b"Hello, world!\nSecond line\r\nThird line"
  
      # Make a package with some resources
      zip_file = os.path.join(self.dirname, zip)
      z = zipfile.ZipFile(zip_file, "w")
  
      # Empty init.py
      z.writestr(pkg + "/__init__.py", "")
      # Resource files, res.txt, sub/res.txt
      z.writestr(pkg + "/res.txt", RESOURCE_DATA)
      z.writestr(pkg + "/sub/res.txt", RESOURCE_DATA)
      z.close()
  
      # Check we can read the resources
      sys.path.insert(0, zip_file)
      res1 = pkgutil.get_data(pkg, "res.txt")
      self.assertEqual(res1, RESOURCE_DATA)
      res2 = pkgutil.get_data(pkg, "sub/res.txt")
      self.assertEqual(res2, RESOURCE_DATA)
  
      names = []
      for moduleinfo in pkgutil.iter_modules([zip_file]):
          self.assertIsInstance(moduleinfo, pkgutil.ModuleInfo)
          names.append(moduleinfo.name)
      self.assertEqual(names, ["test_getdata_zipfile"])
  
      del sys.path[0]
  
      del sys.modules[pkg]
  
imports: from pathlib import Path
  from test.support.import_helper import unload, CleanImport
  from test.support.warnings_helper import check_warnings, ignore_warnings
  import unittest
  import sys
  import importlib
  from importlib.util import spec_from_file_location
  import pkgutil
  import os
  import os.path
  import tempfile
  import shutil
  import zipfile
label_desc: Use image node_id 4 for calling the PkgutilTests obj's underlying member method code with example usage: obj.test_getdata_zipfile() without return types