x='''
print '\tone \'piece\' of \"metal\" with \\sharp\\ edge '
print '\nthanks'
'''
exec(x)
我有一个字符串变量 (x),我想使用 exec() 正确打印出来。如果我可以访问变量,我可以直接使用 r' 并解决问题,例如:
x=r'''
print '\tone \'piece\' of \"metal\" with \\sharp\\ edge '
print '\nthanks'
'''
exec(x)
但在这种情况下,我无权访问该变量。所以字符串变量来自另一端或其他用户。那么如何将此 r' 应用于现有变量,以便我可以使用 exec() 。
正确的输出应该是:
one 'piece' of "metal" with \sharp\ edge
thanks
真实情况是:
在我的软件中,我可以创建对象,每个对象都可以具有文本输入和按钮等属性。我将此文本输入和按钮属性称为object.text_input和object.button。假设我有 2 个名为AA和BB的对象,并且我在AA.text_input(object1 的文本输入)中键入了一个表达式/脚本。现在从 BB (object2) 我想使用在AA.text_input中输入的表达式并使用exec()执行它。所以在BB.button我会写一个代码,如:exec(AA.text_input). 所以我从 AA 获取的数据将是一个字符串。问题是 AA 文本输入中的代码类型可能包含任何字符,包括转义字符和其他字符。因此,当我在 BB 中使用 exec() 时,我会因为这些字符而出错。所以问题是:如何将该字符串从 BB.text_input 正确带到 AA?