• 修改文件


    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只能写入字符串

  • 相关阅读:
    (摘)Zebra打印机异常处理
    (摘)Chart Y轴设置为百分比
    关于ZFS、GPT、4K、Geom Label的一些说明
    (转)ASP.NET性能优化之分布式Session
    (转)WebService的事务处理
    SqlSever分页查询,仅扫描一次表
    (转)对.net系统架构改造的一点经验和教训
    字典树
    Ajax
    Lunix 命令
  • 原文地址:https://www.cnblogs.com/cslw5566/p/8858737.html
Copyright © 2020-2023  润新知