在python中打印或写入文件“\ 040”(空格)

时间:2013-11-24 11:45:05

标签: python linux

背景

我需要使用python

将以下行写入fstab文件
//10.1.1.1//First\040Second /Mount cifs ------

问题:

但此First Second来自输入,当我尝试将其转换为First\040Second时,它的打印方式与First Second相同。

问题:

如何将First Second转换为First\040Second,只需将" "替换为\040

注意:即使我尝试打印First\040Second,它也仅显示为First Second

print "First Second".replace(" ", "\040")

在此先感谢,如果您需要更多说明,我可以提供。

4 个答案:

答案 0 :(得分:3)

更改

 print "First Second".replace(" ", "\040")

 print "First Second".replace(" ", "\\040")

\\是打印反斜杠的正确方法

http://en.wikipedia.org/wiki/Null_character

编辑:Starrify给我带来了启示,并且基本上说\ xxx或\ 040被视为十六进制

答案 1 :(得分:0)

首先,在Python中," " == "\040"总是True,因为后者只是在字符串中表达字符的另一种形式。

据我了解,您希望以视觉方式为字符打印,请使用"First Second".replace(" ", "\\040"),其中"\\040"也可以替换为r"\040",因为“r”在这里表示{{3在Python中。

答案 2 :(得分:0)

\之前添加\040来逃避序列:First\\040Second

答案 3 :(得分:0)

您可以在字符串前加r来表示它是原始字符串:

>>> s = r'First\040Secon'
>>> print s
First\040Secon
>>> s
'First\\040Secon'