优草派  >   Python

Python怎么修改文件内容?Python修改文件内容的3种方法详解

翟嘉慧            来源:优草派

我们在之前的学习中,学习了如何修改文件的名字,今天教大家学习如何利用Python来修改文件中的内容,为了让大家更好的理解修改文件内容的操作,在这篇文章中,介绍了3种方法,希望能给大家的学习带来一定的帮助,下面一起来看看吧。

Python怎么修改文件内容?Python修改文件内容的3种方法详解

Python修改文件内容,有两种模式,一种是直接在原文件中进行修改之后直接保存,还有一种方式是对修改之后的文件存储在一个新的文件中进行存储,下面分别来介绍这两种模式的操作方法。

一、修改原文件方式

这种方式是直接在需要修改的文件上进行操作,修改好了之后会之后在当前的文件中保存,我们使用的是alter方法,它的基本语法格式如下:

函数名(file,old_str,new_str):

第一个参数表示的是文件名,old_str表示的是需要修改的字符串,new_str是修改之后的字符串。代码如下:

 file_data = ""
  with open(file, "r", encoding="utf-8") as f:
    for HH in f:
      if old_str in HH:
        HH = HH.replace(old_str,new_str)
      file_data += HH
  with open(file,"w",encoding="utf-8") as f:
    f.write(file_data)
alter("HELLO", "2334", "python")

二、将原文件修改后保存到新文件中

这种模式中,它包括了两种不同的方式可以将文件修改后,将内容写到一个新的文件中进行存储。

1、使用python 字符串替换的方式

 这种方法会将替换的字符串写到一个新的文件中,然后将原文件删除,新文件改为原来文件的名字,代码如下:

import os
def alter(file,old_str,new_str):
 with open(file, "r", encoding="utf-8") as f1,open("%s.bak" % file, "w", encoding="utf-8") as f2:
    for HH in f1:
      if old_str in HH:
        HH = HH.replace(old_str, new_str)
      f2.write(HH)
  os.remove(file)
  os.rename("%s.bak" % file, file)
alter("HELLO", "2334", "python")

2、使用正则表达式

在Python的正则表达式中,有一个re.sub方法,是可以对文件的内容进行替换的操作的,具体的实现方法如下:

import re,os
def alter(file,old_str,new_str):
  with open(file, "r", encoding="utf-8") as f1,open("%s.bak" % file, "w", encoding="utf-8") as f2:
    for HH in f1:
      f2.write(re.sub(old_str,new_str,HH))
  os.remove(file)
  os.rename("%s.bak" % file, file)
alter("file1", "admin", "password")

以上就是Python怎么修改文件内容?Python修改文件内容的3种方法详解的全部内容,希望对大家的学习有所帮助。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。