背景
我需要使用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")
在此先感谢,如果您需要更多说明,我可以提供。
答案 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'