Python查询代码示例

时间:2014-01-04 11:48:14

标签: python quotations

我想为python代码示例创建类似字典的东西。我的问题是,我必须逃避所有的代码示例。 r'some string'也没用。您是否建议使用其他解决方案来查询此条目?

import easygui

lex = {"dict": "woerter = {\"house\" : \"Haus\"}\nwoerter[\"house\"]",\
   "for": "for x in range(0, 3):\n    print \"We are on time %d\" % (x)",\
   "while": "while expression:\n    statement(s)"}

input_ = easygui.enterbox("Python-lex","")
output = lex[input_]
b = easygui.textbox("","",output)

2 个答案:

答案 0 :(得分:3)

使用三重引语:

    lex = {"dict": '''\
woerter = {"house" : "Haus"}
woerter["house"]
''',
           "for": '''\
for x in range(0, 3):
    print "We are on time %d" % (x)
''',
           "while": '''\
while expression:
    statement(s)
'''}

三引号字符串(使用'''"""分隔符)保留换行符,任何嵌入的引号都不需要转义。

打开\三重引号之后的'''转义在开始时转义换行符,使得值更容易阅读。另一种方法是将第一行直接放在开头报价之后。

你也可以制作这些原料; r'''\n'''将包含文字字符\n,但字面换行符仍然是字面换行符。三引号也适用于双引号字符:"""This is a triple-quoted string too"""。你唯一要逃脱的是同样风格的另一个三重报价;在这种情况下,你只需要转义一个引用字符:

triple_quote_with_embedded_triple = '''Triple quotes use \''' and """ delimiters'''

答案 1 :(得分:1)

我猜你可以使用json.dumps(data,incident = 1)转换数据,然后转移到easygui.textbox。 如下所示:

import json
import easygui
resp = dict(...)
easygui.textbox(text=json.dumps(resp, indent=1))