bpo-38723: Pdb._runscript should use io.open_code() instead of open() (GH-17127)
Co-Authored-By: Brandt Bucher <brandtbucher@gmail.com>
(cherry picked from commit d593881505c1f4acfd17f41312b27cc898451816)
Co-authored-by: jsnklln <jsnklln@gmail.com>
diff --git a/Lib/pdb.py b/Lib/pdb.py
index 8639204..bf503f1 100755
--- a/Lib/pdb.py
+++ b/Lib/pdb.py
@@ -68,6 +68,7 @@
# commands and is appended to __doc__ after the class has been defined.
import os
+import io
import re
import sys
import cmd
@@ -1565,7 +1566,7 @@
self._wait_for_mainpyfile = True
self.mainpyfile = self.canonic(filename)
self._user_requested_quit = False
- with open(filename, "rb") as fp:
+ with io.open_code(filename) as fp:
statement = "exec(compile(%r, %r, 'exec'))" % \
(fp.read(), self.mainpyfile)
self.run(statement)