标签:
在linux上,很容易碰到操作文件的内容,读取指定信息的情况,或者要求在指定内容中追加内容,其实两个flag标识符就能解决。
先上个图:
执行while flag==0即可:
while flag==0: print(line)
在某文件的内容再插入一行,这个需求看似复杂,分析下:
1.要求遍历文件,我们可以把文件readlines()成列表,或者line in file:opration...一行行读,都可以
2.将每一行写入新文件,new_file.write(line)
3.到目标内容时,flag改变,因为有多行,所以会产生遍历多次,那怎么让新内容插到正确的位置呢?
4.比如插到目标内容最下面,先将每行line设成一个list列表,将新内容加到列表最后
5.因为所有内容都要写入,包括flag为0和1的所有内容,所以不能break中断遍历。
6.那么问题来了,列表中的目标内容是多行,文件遍历也是多次,怎么只写一次呢?答案还是flag,但这个flag是别的flag,且叫2_flag吧
7.遍历添加新内容后的列表时,2_flag初始为0,开始遍历文件写入,在写入第一次文件后,将2_flag改为1
8.文件遍历目标内容时,需要两个条件,if flag== 0 and 2_flag==0: writelines列表中所有内容。
9.写入列表内容后,将2_flag更改为1.这样就遍历了一次列表,但不印象文件内容继续往下遍历。。。。
标签:
原文地址:http://www.cnblogs.com/ccorz/p/5527392.html