写文本文件和维护格式python时遇到麻烦

时间:2018-07-10 19:05:06

标签: python python-2.7

在保持格式的同时,我无法写入文本文件和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() 

1 个答案:

答案 0 :(得分:1)

文件对象的write()方法将作为参数传递的字符串写到文件中,而不添加换行符(例如,与print相比)。将您的数据分成几行也将删除其中的换行符。

因此,您需要显式添加换行符:

f = open("testtxt.txt",'ab')
for x in writethis.splitlines():
    f.write(x)
    f.write('\n')

或者,如果您不修改for循环中的行,请考虑将writethis一次写入所有文件。 write()能够处理包含多行的很大的字符串。