是否有一种安全的方式来打印"字符串变成变量?
处理完文本文件后,我的结果可能包含"'some text.'"
或"'some other \\\ntext'"
。那是因为我查看了一些包含例如。
example.py:
a = 'some text.'
b = 'some other \
text'
我想要打印输出,我的结果应该是这样的:
'some text.'
'some other text'
我知道我可以使用类似的东西:
a = "'some other \\\ntext'"
#remember that a is string that I've read from other file.
#It's here only to show you how looks it's representation in memmory
exec('result = ' + a)
#so result is 'some other text' as it would be in variable in other file.
但这似乎对我很脆弱。仅使用str()
并不起作用。有没有更好的方法呢?
[编辑] 下面是更具体的例子:
a.py:
b ='some other \
text'
main.py:
with open('a.py') as f:
fileContent = f.read()
result = re.search('b\s=.+\n*.*', fileContent)
result = result.group(0) #now I have 'b = "some other\\\ntext"' in result
result = result[result.find('=')+1:] #now I have '"some other \\\ntext"'
但是我想要其他一些文字'在我的结果中,正如我在文件a.py中的变量b中所拥有的那样!
答案 0 :(得分:0)
使用repr()
:
a = 'some text.'
result = repr(a)
print result
给出
'some text.'
(这意味着result
现在包含包含引号的字符串。