code: def always_iterable(obj, base_type=(str, bytes)):
      if obj is None:
          return iter(())
  
      if (base_type is not None) and isinstance(obj, base_type):
          return iter((obj,))
  
      try:
          return iter(obj)
      except TypeError:
          return iter((obj,))
  
file_path: cpython/Lib/test/test_zipfile/_path/_itertools.py
imports: import itertools
  from collections import deque
  from itertools import islice
label_desc: Use image node_id 1 for calling a global function with example usage: always_iterable(obj, base_type) and returns: iter, iter, iter, iter