zoukankan      html  css  js  c++  java
  • 7. 修改文件的两种方式

    一、修改小文件
    1、打开一个文件,获取到文件所有内容
    2、对内容进行修改:替换、写SQL、列表分割等
    3、清空原来文件的内容
    4、把新内容写入
    f = open('username.txt','a+')
    f.seek(0)
    all_str = f.read() #读取所有内容,占内存较大
    print(all_str)
    new_str = all_str.replace('4567889','123456')
    f.seek(0) #此时上方read已读到文件最后,清空操作要重新seek到文件开头
    f.truncate() #清空文件
    f.write(new_str)
    f.close()
     
    #在每个用户名前面加上syz_
    f = open('username.txt','a+')
    f.seek(0)
    all_str = ''
    for line in f:
    lines = 'syz_' + line
    all_str += lines
    f.seek(0)
    f.truncate()
    f.write(all_str)
    f.close()
     
    for line in f.readlines():把文件中的所有内容转换成列表放到列表中,占用内存较大
    for line in f: 是一行一行的读取内容,占用内存较小
     
    二、修改大文件时
    这种方法不用开辟一块内存来存文件中的所有数据,直接每一行写入另外一个文件,写完之后删除重命名。
    import 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') #改名
     
     
    补充:
    f.write() #只能写字符串,对与列表中的元素,只能循环写入
    f.writelines() #自动循环写入列表、字符串
     
     
  • 相关阅读:
    Hibernate核心接口和类
    Struts 2基础知识
    博客开篇
    程序员的幽默笑话(深意爆笑)
    追MM的各种算法
    全局css(慕课)
    全局css
    目录的分层
    class 设置多个css属性
    Python爬虫学习:四、headers和data的获取
  • 原文地址:https://www.cnblogs.com/pengzhuopeng/p/8893908.html
Copyright © 2011-2022 走看看