이 글은 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!