>백엔드 개발 >파이썬 튜토리얼 >Python 파일의 세 가지 읽기 및 쓰기 모드의 특징과 차이점

Python 파일의 세 가지 읽기 및 쓰기 모드의 특징과 차이점

不言
不言앞으로
2018-10-09 16:38:214779검색

이 글은 Python 파일의 세 가지 읽기 및 쓰기 모드의 특징과 차이점을 소개합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

이 글에서는 읽기 및 쓰기가 가능한 세 가지 파일 모드의 특징과 그 차이점, 그리고 파일 수정 작업이 실현 가능한지 여부에 대해 주로 설명합니다.

이전 글이전 글에서 이미 인코딩에 대해 논의했으므로 여기서는 인코딩에 대해 다시 연구해 보겠습니다. 모든 개방형 작업은 기본적으로 utf-8 인코딩으로 설정됩니다(Linux 시스템에서)

먼저 r+(읽기 및 쓰기)를 살펴보겠습니다

r+는 둘 다 읽을 수 있습니다. 그리고 쓰기, r+ 모드에서 구현할 수 있나요? 파일 수정은 어떻게 되나요? 대답은 '예'입니다! 그러나 한 가지 주의할 점은 정확한 위치에서 수정해야 할 내용을 정확히 알지 못하면 기대한 결과를 얻지 못하는 경우가 많다는 점입니다. 예는 다음과 같습니다.
"10걸음에 한 사람을 죽이고 천 마일 안에 흔적을 남기지 마십시오"와 같은 텍스트가 있습니다.
"10걸음에 한 사람을 죽이십시오"를 "도적을 죽이세요"로 바꿔야 할 필요가 있다고 가정해 보겠습니다. 초기 아이디어는 다음과 같습니다. read(4)를 사용하여 한자 "一"을 읽은 다음 한자 "一bandit"을 씁니다.

with open('job', mode='r+') as f:
    print('先读取四个字符:',f.read(4))
    print('读取后的指针位置:',f.tell())
    f.write('个土匪')
    f.seek(0)
    print(f.read())
    输出为:
    先读取四个字符: 十步杀一
    读取后的指针位置: 12
    十步杀一人,千里不留行个土匪

결과에서 볼 수 있듯이 포인터가 움직였습니다. read(4)를 사용하여 지정된 위치로 이동했는데 쓰기를 해보니 예상대로 되지 않고 파일 끝까지 실행되었습니다. 이 이유는 "CHUNK"라는 것과 관련이 있습니다. Andi 선생님은 그것을 가르치지 않았기 때문에 깊이 이해한 후에 말씀드리겠습니다.

위 내용은 Python 파일의 세 가지 읽기 및 쓰기 모드의 특징과 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

관련 기사

더보기