읽고 쓰기 위해 파일을 여는 방법이 있습니까?
해결 방법으로 파일을 쓰기 위해 열고 닫은 다음 다시 읽기 위해 엽니 다. 그러나에 대한 파일을 열 수있는 방법이 모두 읽기와 쓰기는?
답변
파일을 읽고 다시 열지 않고 파일을 읽은 다음 기존 데이터를 덮어 쓰는 방법은 다음과 같습니다.
with open(filename, "r+") as f:
data = f.read()
f.seek(0)
f.write(output)
f.truncate()
답변
r+
동시에 읽고 쓰는 표준 모드입니다. / 는이 운영 체제 호출을 둘러싼 작은 래퍼 fopen()
이므로 시스템 호출 을 사용하는 것과 다르지 않습니다 .file()
open()
답변
I / O 동작 요약
| Mode | r | r+ | w | w+ | a | a+ |
| :--------------------: | :--: | :--: | :--: | :--: | :--: | :--: |
| Read | + | + | | + | | + |
| Write | | + | + | + | + | + |
| Create | | | + | + | + | + |
| Cover | | | + | + | | |
| Point in the beginning | + | + | + | + | | |
| Point in the end | | | | | + | + |
그리고 결정 지점
답변
나는 이와 같은 것을 시도했으며 예상대로 작동합니다.
f = open("c:\\log.log", 'r+b')
f.write("\x5F\x9D\x3E")
f.read(100)
f.close()
어디:
f.read (size)-파일의 내용을 읽으려면, f.read (size)를 호출하십시오.이 함수는 일정량의 데이터를 읽고이를 문자열로 반환합니다.
과:
f.write (string)은 문자열의 내용을 파일에 기록하고 None을 반환합니다.
또한 파일 읽기 및 쓰기에 대한 Python 자습서 를 열면 다음을 찾을 수 있습니다.
‘r +’는 읽고 쓸 수있는 파일을 엽니 다.
Windows에서 모드에 추가 된 ‘b’는 파일을 이진 모드로 열리므로 ‘rb’, ‘wb’및 ‘r + b’와 같은 모드도 있습니다.