• 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
  • 相关阅读:
    xgzc— math 专题训练(一)
    floyd判圈算法
    CF961G Partitions
    luoguP4778 Counting swaps
    AT3913 XOR Tree(巧妙转换+状压dp)
    手动实现aop编程
    代理模式
    spring重点一:处理对象创建时间 个数以及方式
    spring helloword
    spring用来干什么,解决的问题
  • 原文地址:https://www.cnblogs.com/lixinliang/p/8290246.html
Copyright © 2020-2023  润新知