diff options
-rw-r--r-- | bin/utils/io.py | 11 | ||||
-rw-r--r-- | vk/tracking/db/io.py | 11 |
2 files changed, 6 insertions, 16 deletions
diff --git a/bin/utils/io.py b/bin/utils/io.py index 70c1a3a..2cd3667 100644 --- a/bin/utils/io.py +++ b/bin/utils/io.py @@ -25,16 +25,11 @@ class FileWriterCSV: @contextmanager def _open_file(path=None, default=None, **kwargs): - fd = default if path is None: - pass + yield default else: - fd = open(path, **kwargs) - try: - yield fd - finally: - if fd is not sys.stdout: - fd.close() + with open(path, **kwargs) as fd: + yield fd def open_output_text_file(path=None): return _open_file(path, default=sys.stdout, mode='w', encoding='utf-8') diff --git a/vk/tracking/db/io.py b/vk/tracking/db/io.py index d280634..487a136 100644 --- a/vk/tracking/db/io.py +++ b/vk/tracking/db/io.py @@ -25,16 +25,11 @@ class FileReaderCSV: @contextmanager def _open_file(path=None, default=None, **kwargs): - fd = default if path is None: - pass + yield default else: - fd = open(path, **kwargs) - try: - yield fd - finally: - if fd is not default: - fd.close() + with open(path, **kwargs) as fd: + yield fd _DEFAULT_ENCODING = 'utf-8' |