From 5a82a65bdecfca3497ebb823114a32a86249dbe6 Mon Sep 17 00:00:00 2001 From: Alex Hall Date: Fri, 3 May 2019 20:00:22 +0200 Subject: [PATCH] Test for open attribute on output, to support Paths --- pysnooper/pysnooper.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pysnooper/pysnooper.py b/pysnooper/pysnooper.py index 94625e6..acd2213 100644 --- a/pysnooper/pysnooper.py +++ b/pysnooper/pysnooper.py @@ -30,11 +30,18 @@ def get_write_and_truncate_functions(output): elif callable(output): write = output truncate = None - else: - assert isinstance(output, utils.WritableStream) + elif isinstance(output, utils.WritableStream): def write(s): output.write(s) truncate = None + elif hasattr(output, 'open'): + def write(s): + with output.open('a') as output_file: + output_file.write(s) + + def truncate(): + with output.open('w'): + pass return (write, truncate)