为了在TranscryptPython To JS编译器中从Python生成JavaScript,Python 3.5的ast模块与以下代码结合使用:
class Generator (ast.NodeVisitor):
...
...
def visit_Str (self, node):
self.emit (repr (node.s)) # Simplified to need less context on StackOverflow
...
...
这可以很好地工作,例如,对于以下Python行:
test = "âäéèêëiîïoôöùüû"
正确翻译为:
var test = 'âäéèêëiîïoôöùüû';
只有字符a会产生问题:
test = "àâäéèêëiîïoôöùüû"
翻译为:
var test = 'Ĝxa0âäéèêëiîïoôöùüû';
有没有办法让ast模块读取源文件中的编码指令,例如:
# coding=<encoding name>
要打开Python文件进行解析,请使用
而不是普通人
功能。你知道吗
它将打开、读取pep263编码提示并返回打开的文件,就像普通的
open
使用正确的编码打开它一样。你知道吗很难找到,目前还没有在绿树蛇博士。实际上是通过在GitHub上的CPython源代码中搜索“编码”找到的。你知道吗
已经为Green Tree Snakes doc创建了一个问题来添加这个。你知道吗
相关问题 更多 >
编程相关推荐