在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.这样就遍历了一次列表,但不印象文件内容继续往下遍历。。。。

最新文章

  1. BZOJ 1692: [Usaco2007 Dec]队列变换 [后缀数组 贪心]
  2. [LeetCode] Palindrome Partitioning 拆分回文串
  3. nyoj 142, poj 1039 ,hdu 1454 管道问题
  4. sublimeText3安装package control和禁止弹出更新下载弹窗
  5. 安装Cocoapoads遇到的问题的解决办法
  6. CSS3秘笈复习:第八章
  7. GPU
  8. java利用反射获取类的属性及类型
  9. Android从无知到有知——NO.1
  10. windows 安装Mysql压缩包
  11. CSS3新增伪类--好用的:target
  12. Qt QLineEdit
  13. Delphi Format 格式化数字
  14. java文件转发
  15. RocketMQ安装教程
  16. 1. Install Git and GitExtension
  17. Android ListView setOnItemClickListener/setOnItemSelectedListener,无效
  18. Hive Python Streaming的原理及写法
  19. java随笔——HashMap与红黑树
  20. [Code Festival 2017 qual A] C: Palindromic Matrix

热门文章

  1. 详细讲解vue.js里的父子组件通信(props和$emit)
  2. Nginx入门(二)——双机热备
  3. Selenium常用API的使用java语言之8-模拟鼠标操作
  4. Solr添加paoding分词器
  5. css3多列布局瀑布流加载样式
  6. docker学习(五)
  7. Codeforces Round #464 (Div. 2) D题【最小生成树】
  8. bootstrap富文本编辑
  9. leetcode解题报告(14):Max Consecutive Ones
  10. 2018-2019 ACM-ICPC, Asia Dhaka Regional Contest