2017-02-28 8 views
0

の生成:source_codeを表す文字列である場合、私が生成する必要が出力のsource 一部はexecute(source_code) あります。。source 私は 入力ソース=「輸入SYS」の"execute({0})".format(source)を書く場合、私はexecute(import sys)を得るでしょう は、だから私は試してみました:execute(\"\"\"{0}\"\"\")format(source)を、それがOKで、私はそれをテストしてみました...時にはそれはokです...。?ソース内にあるときに問題が発生する""" たとえば、私はそれがソースコードを有する入力としてPythonコード生成 を書き込む実行するためのPythonコード(自動正しい「」 ")

from IPython.display import HTML 

HTML(""" 
<script> 
console.log("hello"); 
</script> 
<b>HTML</b> 
""") 

私のコードは

execute("""from IPython.display import HTML 
HTML(""" 
<script> 
console.log("hello"); 
</script> 
<b>HTML</b> 
""")""") 

UPDようになります: はdoesnの `tの問題を解決

execute('''{0}''').format(source) 

にコードを変更し、問題がで遭遇されます。

def tojson(data): 
    '''Shorten the code to respond a little bit.''' 
    print(json.dumps(data)) 

答えて

1

シングルトリPLE引用符を助ける必要があります。おそらくあなたの場合

exec('''from IPython.display import HTML''') 
eval('''HTML(""" 
<script> 
console.log("hello"); 
</script> 
<b>HTML</b> 
""")''') 

execute('''{0}''').format(source) 

作品をノートブックで実行

execute('''from IPython.display import HTML 
HTML(""" 
<script> 
console.log("hello"); 
</script> 
<b>HTML</b> 
""")''') 

を、あなたは実際にHTMLを表示するためにeval()を使用する必要があります文字列の中に'''がある場合:

source = """ 
def add(a, b): 
    '''Add''' 
    return a + b 

print(add(1, 2)) 
""" 

exec('''{0}'''.format(source)) 

出力:

3 
+0

を実行するように変更( '' '{0}' '')形式(ソース)実際に動作!ありがとう!内部のソースに '' 'があるとどうなりますか?私は同じ問題に遭遇するでしょうか? – Yakov

関連する問題