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

    whw.txt文件中有一下内容:

    张三  13333333333
    小李 15555555555
    王二麻 12222222222

    编写程序实现文件内容的修改:

    方法一:占硬盘的修改方式(需要新建一个文件)
    import os
    f_name = 'whw.txt'
    f_new_name = '%s.new' % f_name
    old_str = '张三'
    new_str = '张啊啊'
    f = open(f_name,'r',encoding='utf-8')   #注意编码方式
    f1 = open(f_new_name,'w',encoding='utf-8')
    for line in f:#遍历旧文件
        if old_str in line:#如果旧文件里有需要替换的内容
            line = line.replace(old_str,new_str) #没用到os模块,将就内容替换为新内容
        f1.write(line)#将“新内容写进新的文件中去”
    f.close()
    f1.close()
    os.replace(f_new_name,f_name)#用到了os模块,将旧文件替换为新文件

    方法二:占内存的修改方式:

    import os
    f_name = 'whw.txt'
    f_new_name = '%s.new' % f_name
    old_str = '王二麻'
    new_str = '王二'
    f = open(f_name,'r',encoding='utf-8')
    f1 = open(f_new_name,'w',encoding='utf-8')
    #与占硬盘的方法不同的是,占内存的方法是将文件内容一次性的读出来,然后进行判断和替换
    data = f.read()
    if old_str in data:
        data = data.replace(old_str,new_str)
    f1.write(data)
    f.close()
    f1.close()
    os.replace(f_new_name,f_name)
    

      

     
  • 相关阅读:
    C# 中类重写 ToString 方法
    虚方法(virtual)和抽象方法(abstract)的区别
    C#的扩展方法学习
    C# .NET 和.NET Framework区别
    C#值类型和引用类型
    抽象和接口的区别和使用
    什么是委托?
    什么是继承?
    设计模式:单一职责原则
    Java 13,最新最全新特性解读
  • 原文地址:https://www.cnblogs.com/paulwhw/p/8675570.html
Copyright © 2011-2022 走看看