From 894ac215326e7fa543199570b5900ab965e00093 Mon Sep 17 00:00:00 2001 From: Marshall Greenblatt Date: Sun, 12 Jan 2020 16:17:19 +0200 Subject: [PATCH] Fix Python 2 TypeError: write() argument 1 must be unicode, not str (see issue #2856) --- tools/file_util.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/file_util.py b/tools/file_util.py index a31f1334b..d112ff220 100644 --- a/tools/file_util.py +++ b/tools/file_util.py @@ -32,7 +32,12 @@ def write_file(name, data): try: with open(name, 'w', encoding='utf-8') as f: # write the data - f.write(data) + try: + # Python 2 + f.write(data.decode('utf-8')) + except Exception as e: + # Python 3 + f.write(data) except IOError as e: (errno, strerror) = e.args sys.stderr.write('Failed to write file ' + name + ': ' + strerror)