zoukankan      html  css  js  c++  java
  • python 关于文件操作

    1,要求在文件 2.py 第六行插入一句话;
    1 #cat  /root/python/2.py 
    2 昨夜雨疏风骤1
    3 昨夜雨疏风骤2
    4 昨夜雨疏风骤3
    5 昨夜雨疏风骤4
    6 昨夜雨疏风骤5
    7 昨夜雨疏风骤6
    8 昨夜雨疏风骤7
     1 # vim  /root/python/file.py
     2 f = open("/root/python/2.py","r")
     3 num = 0
     4 for i in f.readlines():
     5   num+=1
     6   if num == 6:
     7 #   i=i.strip() + "i love you"           # 两种方法,下面那种性能更好些(join)
     8     i=''.join([i.strip(),"i love you"])
     9   print i.strip()
    10 f.close()
     1 运行结果:
     2 
     3 [root@localhost python]# python 3.py 
     4 昨夜雨疏风骤1
     5 昨夜雨疏风骤2
     6 昨夜雨疏风骤3
     7 昨夜雨疏风骤4
     8 昨夜雨疏风骤5
     9 昨夜雨疏风骤6i love you
    10 昨夜雨疏风骤7
     1 2, readlines()是讲对象整体拷贝到内存当中,如果一个文件过大的话,读取效率会很低,所以用到了迭代器,意思是用到文件中某一行取一行,用一个取一个,而不是首先将整体翻入内存当中;
     
    2
    # vim /root/python/file.py 3 f = open("/root/python/2.py","r") 4 num = 0 5 for i in f: 6 num+=1 7 if num == 6: 8 i=''.join([i.strip(),"i love you"]) 9 print i.strip() 10 f.close()

    #f 是 即将在for 循环内部的一个迭代器,而不是之前的 f.readlines(),readlines是将打开文件的内容完全复制一 份,而此时的f是取一行用一行,print完一行内存当中
    就没有了这一行,在对一个打的文件进行运用时这种性能会更好一些。


    3,创建一个新的文件,并且能够实现文件内容某行的字符窜拼接。
    
    已有文件:
    
    [root@localhost python]# vim shici.py
    轻舟已过万重山1
    轻舟已过万重山2
    轻舟已过万重山3
    轻舟已过万重山4
    轻舟已过万重山5
    轻舟已过万重山6
    轻舟已过万重山7
    
    
    脚本如下:
    
    [root@localhost python]# vim 1.py
    f_read = open("/root/python/shici.py",'r')
    f_write = open("/root/python/mumu.py",'w')
    
    num=0
    for line in f_read:
      num += 1
      if num == 5:
        line = '------'.join([line.strip(),"hello 岳飞\n"])
      f_write.write(line)
    f_read.close()
    f_write.close()
    
    
    运行脚本:
    
    [root@localhost python]# python 1.py
    
    
    查看结果:
    
    [root@localhost python]# vim mumu.py
    轻舟已过万重山1
    轻舟已过万重山2
    轻舟已过万重山3
    轻舟已过万重山4
    轻舟已过万重山5------hello 岳飞
    轻舟已过万重山6
    轻舟已过万重山7
  • 相关阅读:
    Composite in Javascript
    Model Validation in Asp.net MVC
    HttpRuntime.Cache vs. HttpContext.Current.Cache
    Controller Extensibility in ASP.NET MVC
    The Decorator Pattern in Javascript
    The Flyweight Pattern in Javascript
    Model Binding in ASP.NET MVC
    Asp.net MVC
    jQuery Ajax 实例 全解析
    ASP.NET AJAX入门系列
  • 原文地址:https://www.cnblogs.com/lixinliang/p/8290246.html
Copyright © 2011-2022 走看看