zoukankan      html  css  js  c++  java
  • 修改文件

    0.写文件会在缓冲区中满时才写入,想要写入需要。flush方法

      # f.flush() # 把缓冲区的文字强制写到文件中

    1.修改方式(1).简单方式:先打开文件,获取内容,修改内容 ,清空原来的内容,把新的写进去。

             f = open('username','a+')

             f.seek(0)

             all_str = f.read()  #获取的字符串   readlines是list

             new_str = all_str.replace('5566','7788')   #字符串的替代方法

             f.seek(0)   #    之前操作已经移动到最后需要移动到开头

             f.truncate()  #清空文件

             f.write(new_str)

            f.close()

    同一加前缀‘syz’(readlines读入)

      

    #syz_niuhanyang,78910 syz_zll,78910 syz_fyr,78910

    f = open('username','a+')

    f.seek(0)

    all_str = ''

    for s in f:

          new_s ='syz_'+s

          all_str=all_str+new_s

    f.seek(0)

    f.truncate() #清空文件内容

    f.write(all_str)

    f.close()

    #readlines 对于大文件占内存  一次全取进去

    修改文件(2)   系统一般都用此文件

    #打开2个文件

    # a文件

    # 写一行写到b文件

    # a.txt a.txt.bak

    # 删掉a文件,b文件名字改成a文件名

    # flower

    import os  # os模块

    with open('words',encoding='utf-8') as fr,open('.words.bak','w',encoding='utf-8') as fw:

          for line in fr:

               new_line = line.replace('花','flower')

               fw.write(new_line)

    os.remove('words') #删除文件

    os.rename('.words.bak','words') #改名

    *writelines 可以写list 自动循环  write只能写入字符串

  • 相关阅读:
    P1091,P1017
    二维ST表模板
    【ybtoj】【堆的应用】内存管理
    【ybtoj】【RMQ问题】降雨量
    【ybtoj】【RMQ问题】与众不同
    【ybtoj】【倍增问题】运输计划
    【ybtoj】【倍增问题】删边问题
    【ybtoj】【倍增问题】图上查询
    【ybtoj】【倍增问题】货车运输
    【ybtoj】【强连通分量】软件安装
  • 原文地址:https://www.cnblogs.com/cslw5566/p/8858737.html
Copyright © 2011-2022 走看看