将外部文件中的字符串放入变量,因为打印功能会将其打印到控制台中

时间:2015-03-03 15:18:30

标签: python string file-io

是否有一种安全的方式来打印"字符串变成变量? 处理完文本文件后,我的结果可能包含"'some text.'""'some other \\\ntext'"。那是因为我查看了一些包含例如。

的python文件

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中所拥有的那样!

1 个答案:

答案 0 :(得分:0)

使用repr()

a = 'some text.'
result = repr(a)
print result

给出

'some text.'

(这意味着result现在包含包含引号的字符串。