diff --git a/linux-ramdump-parser-v2/ramdump.py b/linux-ramdump-parser-v2/ramdump.py
old mode 100644
new mode 100755
index e385f85e718e5f6d66bc2ac05239d160fd92c9a6..5089bde99310b1ac9a8d809d5b0a1c68dd1f0c16
--- a/linux-ramdump-parser-v2/ramdump.py
+++ b/linux-ramdump-parser-v2/ramdump.py
@@ -676,6 +676,9 @@ class RamDump():
         file_path = os.path.join(self.outdir, file_name)
         f = None
         try:
+            dir_path = os.path.dirname(file_path)
+            if not os.path.exists(dir_path) and 'w' in mode:
+                os.makedirs(dir_path)
             f = open(file_path, mode)
         except:
             print_out_str('Could not open path {0}'.format(file_path))