code: def __init__(
      self,
      dirs=None,
      max_rows=100_000,
      max_columns=1000,
      max_string_length=None,
      max_lists_length=None,
      max_lists_nesting_depth=None,
      max_structs_nesting_depth=None,
      max_struct_null_frequency=None,
      max_struct_types_at_each_level=None,
  ):
      dirs = [] if dirs is None else dirs
      self._inputs = []
      self._max_rows = max_rows
      self._max_columns = max_columns
      self._max_string_length = max_string_length
      self._max_lists_length = max_lists_length
      self._max_lists_nesting_depth = max_lists_nesting_depth
      self._max_structs_nesting_depth = max_structs_nesting_depth
      self._max_struct_null_frequency = max_struct_null_frequency
      self._max_struct_types_at_each_level = (
          max_struct_types_at_each_level
      )
  
      for i, path in enumerate(dirs):
          if i == 0 and not os.path.exists(path):
              raise FileNotFoundError(f"No {path} exists")
  
          if os.path.isfile(path) and path.endswith("_crash.json"):
              self._load_params(path)
          else:
              for i in os.listdir(path):
                  file_name = os.path.join(path, i)
                  if os.path.isfile(file_name) and file_name.endswith(
                      "_crash.json"
                  ):
                      self._load_params(file_name)
      self._regression = bool(self._inputs)
      self._idx = 0
      self._current_params = {}
      self._current_buffer = None
  
file_path: cudf/python/cudf/cudf/_fuzz_testing/io.py
imports: import copy
  import json
  import logging
  import os
  import random
  import sys
  import numpy
label_desc: Use image node_id 1 to create a new IOFuzz object  with example: obj = IOFuzz(dirs, max_rows, max_columns, max_string_length, max_lists_length, max_lists_nesting_depth, max_structs_nesting_depth, max_struct_null_frequency, max_struct_types_at_each_level)