我想在python中打印“ \”字符,但得到“ \\”

时间:2018-08-21 23:21:55

标签: python unicode character

我有一个000_S_0000格式的python字符串列表。由于我希望此列表显示在LaTeX文档中,因此我希望首先使用不同的字符串格式将其保存在.txt文件中,尤其是以下字符串:000\_S\_0000

但是,当我在.txt文件中写入修改后的列表时,每个字符串的格式却改为000\\_S\\_0000

我该如何解决?为什么它不起作用?

谢谢!

这是我的代码:

def posa_barres_latex(ll_PTIDs):
    for i in range(len(ll_PTIDs)):
        snou = ''
        for caracter in ll_PTIDs[i]:
            if caracter == "_":
                snou = snou + "\_"
            else:
                snou = snou + caracter
        ll_PTIDs[i] = snou
    with open("sortida_exclosos_criteri_c.txt","w") as f:
        f.write(str(ll_PTIDs))


posa_barres_latex(['002_S_2043', '018_S_2138', '013_S_2324', '129_S_4073', '002_S_4237', '019_S_4285', '130_S_4468', '136_S_4517', '013_S_4791', '031_S_4194','002_S_4219', '002_S_4251', '136_S_4408', '130_S_4605', '130_S_4925', '013_S_4985'])

P.S。我正在使用python 3。

2 个答案:

答案 0 :(得分:1)

要使用print命令打印单个'\',只需使用: print('\\')

第一个'\'转义第二个。

答案 1 :(得分:1)

在这种情况下,您的Python版本很重要。

但是'\'是转义字符,用于编码其他字符,例如'\ n'是换行符。

您可以使用\\的形式将'\'转义,然后仅打印'\'。

如果您使用许多字符串,则使用原始字符串可能会更容易-只需在它们前面加上一个r。示例:

print(r"000\_S\_000")

将完全按照您键入的内容进行打印。