2017-01-16 5 views
3

Transcrypt PythonからJSコンパイラでPythonからJavaScriptを生成するには、Python 3.5のastモジュールを組み合わせて使用​​します次のコードを使用してください。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 

    ... 
    ... 

test = "âäéèêëiîïoôöùüû" 

正しくに翻訳されています:パイソンの次の行のために

var test = 'Ĝxa0âäéèêëiîïoôöùüû'; 

test = "àâäéèêëiîïoôöùüû" 

がに翻訳されています

var test = 'âäéèêëiîïoôöùüû'; 

のみ文字à問題を与えます

tokenize.open 

ではなく、通常の

open 

機能を使用し、解析のためのPythonのファイルを開くには

# coding=<encoding name> 

答えて

1

:ASTモジュールは次のようにコーディングディレクティブを尊重し、ソースファイルを読みました。

pep263コーディングヒントを開き、適切なエンコーディングを使用して通常のopenで開かれているかのように開いたファイルを返します。

非常に見つけにくいですが、グリーンツリーには現在ありません。 GitHub上のCPythonソースで「コーディング」を検索することで実際に見つけました。

Green Tree Snakes docに問題を作成しました。これを追加してください。

関連する問題