import os import datetime # List to accumulate measurement data measurement_data = [] def append_measurement(target_b_abs, b_x, b_y, measurement_data=measurement_data): """Append a single measurement to the global list.""" measurement = { "Target B_abs": target_b_abs, "Datetime": datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), "B_x": b_x, "B_y": b_y } measurement_data.append(measurement) def save_measurements_to_file(relative_directory, measurement_data=measurement_data): """Save accumulated measurements to a file in the specified directory.""" script_dir = os.path.dirname(os.path.abspath(__file__)) directory = os.path.join(script_dir, relative_directory) os.makedirs(directory, exist_ok=True) filename = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M") + ".txt" file_path = os.path.join(directory, filename) # Write header and data with open(file_path, 'w') as f: f.write("Target B_abs, Datetime, B_x, B_y\n") for entry in measurement_data: line = f"{entry['Target B_abs']}, {entry['Datetime']}, {entry['B_x']}, {entry['B_y']}\n" f.write(line) # Example usage for i in range(5): append_measurement(target_b_abs=0.5 + i, b_x=1.0 * i, b_y=2.0 * i) save_measurements_to_file("Test_Map_" + f"{datetime.datetime.now().strftime('%Y_%m_%d_%H.%M')}") # print(datetime.datetime.now())