我正在尝试将不包含换行符和任何多个空格的多行字符串保存到txt:
with open('test.txt','w') as f:
f.write( r"""<rect
x="0"
y="0"
width="%s"
height="%s"
stroke="red"
stroke-width="1"
fill-opacity="0" />""" %(3,4)+"\n" )
当我打开文件cat 'text.txt'
时,文件位于多行上。我怎么能用没有多个空格的单行代码?
<rect x="0" y="0" width="3" height="4" stroke="red" stroke-width="1" fill-opacity="0" />
是否不使用例如"".join()
或其他会影响代码可读性的方法?
使用.replace('\n', '')
不会删除多个空格。
答案 0 :(得分:1)
在字符串的末尾添加.replace('\n', '')
。
编辑:“在字符串的末尾”是指多行,例如:
f.write( r"""<rect
x="0"
y="0"
width="%s"
height="%s"
stroke="red"
stroke-width="1"
fill-opacity="0" />""".replace('\n', '') %(3,4)+"\n" )
^^^^^^^^^^^^^^^^^^
HERE
另一种可能性是受益于Python的字符串自动连接,如下所示:
f.write('<rect '
'x="0" '
'y="0" '
'width="%s" '
'height="%s" '
'stroke="red" '
'stroke-width="1" '
'fill-opacity="0"/> ' % (3,4) + '\n')
答案 1 :(得分:0)
我猜想您希望多行字符串的所有代码都在1行中吗?
然后像这样
.pro
ect ...
那样,您将所有内容都放在一行上
希望这会有所帮助