在保持格式的同时,我无法写入文本文件和python。
这是我的代码。我想写一个文本文件并保持这种精确的格式,但是它将所有文本放在一行上。
我尝试了许多方法来实现此目的,例如使用for循环,分割线等
任何帮助将不胜感激,谢谢。
python 2.7.13
writethis = """
192.168.4.4
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 192.168.4.4 YES NVRAM up up
FastEthernet0/1 192.168.44.135 YES manual up up
FastEthernet1/0 unassigned YES NVRAM administratively down down
192.168.4.2
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 192.168.4.2 YES NVRAM up up
FastEthernet0/1 192.168.2.2 YES NVRAM up up
FastEthernet1/0 192.168.3.2 YES NVRAM up up
"""
f = open("testtxt.txt",'ab')
for x in writethis.splitlines():
f.write(x)
f.close()
答案 0 :(得分:1)
文件对象的write()
方法将作为参数传递的字符串写到文件中,而不添加换行符(例如,与print
相比)。将您的数据分成几行也将删除其中的换行符。
因此,您需要显式添加换行符:
f = open("testtxt.txt",'ab')
for x in writethis.splitlines():
f.write(x)
f.write('\n')
或者,如果您不修改for循环中的行,请考虑将writethis
一次写入所有文件。 write()
能够处理包含多行的很大的字符串。