diff --git a/scenes/drs.py b/scenes/drs.py
index 96fe9ddfd2143a785badb5a4a663734249d5cbac..7745faf2e2ffd13eb1f4b5c4ded8e6a2aeb1b0ce 100644
--- a/scenes/drs.py
+++ b/scenes/drs.py
@@ -2,6 +2,7 @@
 A set of utils to deal with DRS products
 """
 import tqdm
+import pickle
 from scenes import spot, utils
 
 
@@ -17,8 +18,8 @@ def find_all_dimaps(pth):
 def get_spot67_scenes(root_dir):
     """
     Return the list of pairs of PAN/XS DIMAPS
-    :param root_dir: directory
-    :return: list of pairs of filenames
+    :param root_dir: directory containing "MS" and "PAN" subdirectories
+    :return: list of Spot67Scenes instances
     """
     # List files
     look_dir = root_dir + "/MS"
@@ -59,3 +60,23 @@ def get_spot67_scenes(root_dir):
                 print("\t{}".format(error))
 
     return scenes
+
+
+def save_scenes(scenes_list, pickle_file):
+    """
+    Use pickle to save scenes
+    :param scenes_list: a list of Scene instances
+    :param pickle_file: pickle file
+    """
+    pickle.dump(scenes_list, open(pickle_file, "wb"))
+
+
+def load_scenes(pickle_file):
+    """
+    Use pickle to save Spot-6/7 scenes
+    :param pickle_file: pickle file
+    :return: list of Scene instances
+    """
+    return pickle.load(open(pickle_file, "rb"))
+
+
diff --git a/test/drs_import.py b/test/drs_import.py
index 1cfad67b8523480d42a1ab536ce3143bdd9d953b..9aec815b423f7d6e9d56a72d62cf8926b5966648 100644
--- a/test/drs_import.py
+++ b/test/drs_import.py
@@ -4,7 +4,11 @@ from scenes import drs
 # Arguments
 parser = argparse.ArgumentParser(description="Test",)
 parser.add_argument("--root_dir", help="Root directory containing MS and PAN folders", required=True)
+parser.add_argument("--out_pickle", help="Output pickle file", required=True)
 params = parser.parse_args()
 
-# Find pairs of DIMAPS
+# Get all scenes in the root_dir
 scenes = drs.get_spot67_scenes(params.root_dir)
+
+# Save scenes in a pickle file
+drs.save_scenes(scenes, params.out_pickle)