这是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会让旧文件已有的东西消失而写入新的东西。