class_docstr: Wrapper class around underlying C implementation.
class_docstr_tok: ["Wrapper","class","around","underlying","C","implementation","."]
code: def open_files(self):
      if self.pid == 0:
          return []
      files = []
      with catch_zombie(self):
          rawlist = cext.proc_open_files(self.pid)
      for path, fd in rawlist:
          if isfile_strict(path):
              ntuple = _common.popenfile(path, fd)
              files.append(ntuple)
      return files
  
imports: import contextlib
  import errno
  import functools
  import os
  from collections import namedtuple
  from .None import _common
  from .None import _psposix
  from .None import _psutil_osx
  from .None import _psutil_posix
  from ._common import AccessDenied
  from ._common import conn_tmap
  from ._common import conn_to_ntuple
  from ._common import isfile_strict
  from ._common import memoize_when_activated
  from ._common import NoSuchProcess
  from ._common import parse_environ_block
  from ._common import usage_percent
  from ._common import ZombieProcess
  from ._compat import PermissionError
  from ._compat import ProcessLookupError
label_desc: Use image node_id 21 for calling the Process obj's underlying member method code with example usage: obj.open_files() and returns: files, list