Home  >  Article  >  Backend Development  >  How to implement file modification operation in Python? (with examples)

How to implement file modification operation in Python? (with examples)

不言
不言forward
2018-10-09 16:41:092406browse

The content of this article is about how to modify files under Python? (With examples), it has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.

Today we will discuss how to implement the operations of opening a file-modifying a file-closing a file in Python

This article adopts a line-by-line explanation method.

Idea:

Step one: Read the file
Part two: Use 'w' mode to write to a new file
Part 3: Delete the original file and rename the new file back to the original file
This completes the file modification operation

Let’s first take a look at the content of the original file

with open('xiakexing') as old_file:
    print(old_file.read())
赵客缦胡缨,吴钩霜雪明。银鞍照白马,飒沓如流星。
十步杀一人,千里不留行。事了拂衣去,深藏身与名。
闲过信陵饮,脱剑膝前横。将炙啖朱亥,持觞劝侯嬴。
三杯吐然诺,五岳倒为轻。眼花耳热后,意气素霓生。
救赵挥金锤,邯郸先震惊。千秋二壮士,烜赫大梁城。
纵死侠骨香,不惭世上英。谁能书阁下,白首太玄经。

The modification we want to make is to change the line "Thousands of Miles Not Leaving" in the second line to "Thousands of Miles Not Popular"
Additional explanation: Two files can be opened at the same time using the with open() format. In this case, it is actually opened file xakexing, and create the file xakexing.bak, and create the corresponding file objects old_file and new_file respectively

with open('xiakexing') as old_file,open('xiakexing.bak','w') as new_file:
#采用for循环从文件对象old_file里迭代地读取文件,简单来讲就是一行一行地读取文件,这样内存中只存储了一行文件的内容,节省了内存,也防止文件过大时造成的“超载”
    for i in old_file:
        if '千里不留行' in i: #这里每读取一行我们就对其进行条件判断,判断该行是否是我们要找的那一行
            i = i.replace('千','万')#当找到该行时,把该行的内容替换成我们想要的内容
#每读取一行我们就在新文件中写入一行,不管该行有没有变化,总之就是读一行、写一行、读一行、写一行
        new_file.write(i) 
#当for循环结束后,文件也已经被我们修改完毕了,这时应该删除旧文件,重命名新文件,为了实现这一目的,我们引入了os模块,os模块内主要是一些和操作系统有关的函数
import os            
os.remove('xiakexing') #删除原文件
os.rename('xiakexing.bak','xiakexing') #把新文件重命名回原文件名,最终实现了文件的修改

Then let’s take a look at the content of the file

with open('xiakexing') as old_file:
    print(old_file.read())
赵客缦胡缨,吴钩霜雪明。银鞍照白马,飒沓如流星。
十步杀一人,万里不留行。事了拂衣去,深藏身与名。
闲过信陵饮,脱剑膝前横。将炙啖朱亥,持觞劝侯嬴。
三杯吐然诺,五岳倒为轻。眼花耳热后,意气素霓生。
救赵挥金锤,邯郸先震惊。千秋二壮士,烜赫大梁城。
纵死侠骨香,不惭世上英。谁能书阁下,白首太玄经。

In this way, we have implemented the modification of the file . Since we are using the method with open() as, there is no need to close the file. If the file is opened with file=open(), a statement to close the file must be added at the end.

The above is the detailed content of How to implement file modification operation in Python? (with examples). For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:segmentfault.com. If there is any infringement, please contact admin@php.cn delete