Python取代""到\"在文本中

时间:2018-03-15 19:50:19

标签: python string

我想在python中操作我的文本。我将使用此文本嵌入为JavaScript数据。我需要文本文件中的文本完全显示如下。它应该具有我在下面提到的格式,而不仅仅是它打印时。

我有文字:

""text""

我希望:

\"text\"

with open('phase2.2.1.csv', 'w', newline='') as csvFile: 
    writer = csv.writer(csvFile)
    for b in batches: 
        writer.writerow([b.replace('\n', '').replace('""', '\\"')])

不幸的是,上面的收益

\""text\""

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:6)

我建议:

.replace('""', '\\"')

它确实有效,请参阅:

In [8]: x = '""text""'

In [9]: print(x.replace('""', '\\"'))
\"text\"

答案 1 :(得分:4)

如果您尝试生成的是JSON编码的字符串,那么正确的方法是使用json模块:

text = json.dumps(text)

如果您尝试生成实际的JavaScript源代码,那么几乎正确的答案。 JSON非常接近成为JavaScript的一个子集 - 比一个你刚才注意到的一个错误的快速和肮脏修复更接近。

如果你真的想为任何可能的字符串生成正确的JS代码,你必须处理JSON不是JS的一个子集的极端情况。但是没有人这么做过(在人们注意到规格差异之前需要花费数年时间。)