【发布时间】:2016-05-23 21:18:27
【问题描述】:
我需要在一个文件中写入一些文本,其中包含一些带有转义字符的字符串。
我的问题是,在打印文本时,隐含的特殊字符(如换行符或制表效果)必须保持其行为。
但包含特殊字符的文本将打印为简单文本。
我无法添加 \\,因为此文本是在运行时出现的,我不知道这些字符在哪里。
一个例子:
header = """
newLineSymbol = '\n'
newValueSeparator = '\t'
"""
在我的文件中我需要找到:
newLineSymbol = '\n'
newValueSeparator = '\t'
我试图以二进制的形式打开文件进行写入,但没有成功。
最后一次尝试使用 repr 函数编写文本,但它将我的文本打印为:
\n\nnewLineSymbol = '\n'\n\n\nnewValueSeparator = '\t'\n
我用这个来写:
fopen = open('output', 'w')
fopen.write(header)
fopen.close()
【问题讨论】:
-
为什么不用json?
-
因为这是一个静态文本,由工具填充了一些部分,我只能使用它和它的步骤。我只能将其生成的文本写入文件。
-
好的,为什么不能用
'\\n'替换'\n'呢? “运行时”是什么意思? -
该文本是由工具组成的,我保留它,我需要写入一个文件。因此,在该文本的某个位置,该工具使用了一种方法来填充文本。只有在工具生成文本之后我才能编写文本,所以我不知道它在哪里以及是否将一些特殊字符作为字符串放置。
-
您目前使用什么代码将其打印到文件中?你能用它更新你的帖子吗?
标签: python string python-2.7 file-io escaping