code: def test_columns_multiindex_modified(tmp_path, setup_path):
      # BUG: 7212
  
      df = DataFrame(
          np.random.default_rng(2).random((4, 5)),
          index=list("abcd"),
          columns=list("ABCDE"),
      )
      df.index.name = "letters"
      df = df.set_index(keys="E", append=True)
  
      data_columns = df.index.names + df.columns.tolist()
      path = tmp_path / setup_path
      df.to_hdf(
          path,
          key="df",
          mode="a",
          append=True,
          data_columns=data_columns,
          index=False,
      )
      cols2load = list("BCD")
      cols2load_original = list(cols2load)
      # GH#10055 make sure read_hdf call does not alter cols2load inplace
      read_hdf(path, "df", columns=cols2load)
      assert cols2load_original == cols2load
  
imports: import contextlib
  import datetime
  import hashlib
  import tempfile
  import time
  import numpy
  import pytest
  import pandas
  from pandas import DataFrame, DatetimeIndex, Index, MultiIndex, Series, Timestamp, concat, date_range, period_range, timedelta_range
  import pandas._testing
  from pandas.tests.io.pytables.common import _maybe_remove, ensure_clean_store
  from pandas.io.pytables import HDFStore, read_hdf
label_desc: Use image node_id 37 for calling a global function with example usage: test_columns_multiindex_modified(tmp_path, setup_path) without return types