[python] 읽고 쓰기 위해 파일을 여는 방법은 무엇입니까?

읽고 쓰기 위해 파일을 여는 방법이 있습니까?

해결 방법으로 파일을 쓰기 위해 열고 닫은 다음 다시 읽기 위해 엽니 다. 그러나에 대한 파일을 열 수있는 방법이 모두 읽기와 쓰기는?



답변

파일을 읽고 다시 열지 않고 파일을 읽은 다음 기존 데이터를 덮어 쓰는 방법은 다음과 같습니다.

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’와 같은 모드도 있습니다.


답변