Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 82c8d93

Browse files
committed
unparse.py: respect coding cookie in input files
1 parent 3c0b317 commit 82c8d93

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

Demo/parser/unparse.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"Usage: unparse.py <path to source file>"
22
import sys
33
import ast
4+
import tokenize
45
import io
56
import os
67

@@ -548,7 +549,10 @@ def _alias(self, t):
548549
self.write(" as "+t.asname)
549550

550551
def roundtrip(filename, output=sys.stdout):
551-
source = open(filename).read()
552+
with open(filename, "rb") as pyfile:
553+
encoding = tokenize.detect_encoding(pyfile.readline)[0]
554+
with open(filename, "r", encoding=encoding) as pyfile:
555+
source = pyfile.read()
552556
tree = compile(source, filename, "exec", ast.PyCF_ONLY_AST)
553557
Unparser(tree, output)
554558

0 commit comments

Comments
 (0)