1

我想为 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)
4

2 回答 2

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'''将包含文字字符\and n,但文字换行符仍然是文字换行符。三引号也适用于双引号字符:"""This is a triple-quoted string too""". 您唯一需要逃避的是另一个相同风格的三引号;在这种情况下,您只需要转义一个引号字符:

triple_quote_with_embedded_triple = '''Triple quotes use \''' and """ delimiters'''
于 2014-01-04T11:50:50.637 回答
1

我猜你可以使用 json.dumps(data, event=1) 来转换数据,并传输到 easygui.textbox 中。像下面这样:

import json
import easygui
resp = dict(...)
easygui.textbox(text=json.dumps(resp, indent=1))
于 2016-12-02T03:54:25.980 回答