>  기사  >  백엔드 개발  >  Python에서 파일 수정 작업을 구현하는 방법은 무엇입니까? (예제 포함)

Python에서 파일 수정 작업을 구현하는 방법은 무엇입니까? (예제 포함)

不言
不言앞으로
2018-10-09 16:41:092406검색

이 글의 내용은 Python에서 파일을 수정하는 방법에 관한 것입니다. (예시 포함) 참고할만한 가치가 있으니 도움이 필요한 친구들이 참고하시면 좋겠습니다.

오늘은 Python에서 파일 열기 - 파일 수정 - 파일 닫기 작업을 구현하는 방법에 대해 설명하겠습니다.

이 기사에서는 한 줄씩 설명하는 방법을 사용합니다.

할 일:

1단계: 파일 읽기
2부: 'w' 모드를 사용하여 새 파일에 쓰기
3부: 원본 파일을 삭제하고 새 파일의 이름을 다시 원본 파일로 바꿉니다.
이렇게 하면 파일이 완성됩니다. 수정 작업

먼저 원본 파일의 내용을 살펴보겠습니다

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

우리가 하고 싶은 수정은 두 번째 줄의 "Thousand Miles Not Leaving"이라는 단어를 "Thousands of Miles Not Popular"로 바꾸는 것입니다
Supplement 참고: with open() 형식을 사용하여 동시에 두 개의 파일을 열 수 있습니다. 이 예에서는 xakexing 파일이 실제로 열리고 해당 파일 개체 old_file 및 new_file이 생성됩니다.

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') #把新文件重命名回原文件名,最终实现了文件的修改
그럼 파일을 살펴보겠습니다.

with open('xiakexing') as old_file:
    print(old_file.read())
赵客缦胡缨,吴钩霜雪明。银鞍照白马,飒沓如流星。
十步杀一人,万里不留行。事了拂衣去,深藏身与名。
闲过信陵饮,脱剑膝前横。将炙啖朱亥,持觞劝侯嬴。
三杯吐然诺,五岳倒为轻。眼花耳热后,意气素霓生。
救赵挥金锤,邯郸先震惊。千秋二壮士,烜赫大梁城。
纵死侠骨香,不惭世上英。谁能书阁下,白首太玄经。
의 내용 이런 식으로 파일 수정을 완료했습니다. open() 메소드를 사용하고 있으므로 파일을 닫을 필요는 없으며, file=open()을 통해 파일을 열면 마지막에 파일을 닫는 명령문을 추가해야 합니다.

위 내용은 Python에서 파일 수정 작업을 구현하는 방법은 무엇입니까? (예제 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제