代码10

这是sim文件

需要将sim中的10行复制40次再次写入文件

f = open('/home/xbwang/Desktop/sim.txt','r')
a = f.readlines()[0:10]
s = ''.join(a)
print s
for i in range(40):
    f = open('/home/xbwang/Desktop/sim.txt','a')
    f.write(s)

a读出的结果是['1 ', '0 ', '0 ', '0 ', '0 ', '0 ', '0 ', '0 ', '1 ', '2 '],这时候利用join函数将列表转换成一个字符串整体'1 0 0 0 0 0 0 0 1 2 ',然后再进行40次打印即可。这里的join函数前的''之间没加任何东西,这种情况就直接转换成字符串。你也可以''加其他东西,比如空格之类的,但这个时候会多出空格这些东西。

这里必须强调open函数的'a',这表示可以在原有文件最后一行的下一行(即新行)继续写东西。如果这里的a换成w,那这个写入的文件就不再是重复40次,而是永远只有那10行的数字。因为w是把原文件全部抹掉然后重新需要写入的东西,所以每次for循环都会将前一个for循环抹掉重新写。

如果你要在一个旧的文件末尾继续添加写入东西,一定要用a,不然用w会让旧文件已有的东西消失而写入新的东西。

原文地址:https://www.cnblogs.com/ymjyqsx/p/6297527.html