From 8d386d508c1a842663b1afc6b097551c6ad4f701 Mon Sep 17 00:00:00 2001 From: Moritz Baumgart Date: Tue, 16 Sep 2025 00:19:25 +0200 Subject: [PATCH] fix #268 --- src/anytree/exporter/dotexporter.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/anytree/exporter/dotexporter.py b/src/anytree/exporter/dotexporter.py index 4f64dc1..f553b12 100644 --- a/src/anytree/exporter/dotexporter.py +++ b/src/anytree/exporter/dotexporter.py @@ -292,9 +292,10 @@ def to_picture(self, filename): dotfilename = dotfile.name for line in self: dotfile.write((f"{line}\n").encode()) - dotfile.flush() - cmd = ["dot", dotfilename, "-T", fileformat, "-o", filename] - check_call(cmd) + + # Call dot outside with block so dotfile is closed to avoid permission issues + cmd = ["dot", dotfilename, "-T", fileformat, "-o", filename] + check_call(cmd) try: remove(dotfilename) # pylint: disable=broad-exception-caught