summaryrefslogtreecommitdiff
path: root/src/flake8
diff options
context:
space:
mode:
Diffstat (limited to 'src/flake8')
-rw-r--r--src/flake8/formatting/base.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/flake8/formatting/base.py b/src/flake8/formatting/base.py
index e362e65..806d9b8 100644
--- a/src/flake8/formatting/base.py
+++ b/src/flake8/formatting/base.py
@@ -1,5 +1,6 @@
"""The base class and interface for all formatting plugins."""
import argparse
+import os
from typing import IO
from typing import List
from typing import Optional
@@ -76,6 +77,8 @@ class BaseFormatter:
This defaults to initializing :attr:`output_fd` if :attr:`filename`
"""
if self.filename:
+ dirname = os.path.dirname(os.path.abspath(self.filename))
+ os.makedirs(dirname, exist_ok=True)
self.output_fd = open(self.filename, "a")
def handle(self, error: "Violation") -> None: