programing

읽기 및 쓰기를 모두 위해 파일을 여는 방법은 무엇입니까?

projobs 2022. 9. 18. 14:46
반응형

읽기 및 쓰기를 모두 위해 파일을 여는 방법은 무엇입니까?

파일을 읽고 쓸 수 있는 방법이 있나요?

회피책으로 쓰기 위해 파일을 열었다가 닫았다가 다시 열어 읽습니다.하지만 읽고 쓸 수 있는 파일을 열 수 있는 방법이 있을까요?

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

with open(filename, "r+") as f:
    data = f.read()
    f.seek(0)
    f.write(output)
    f.truncate()

I/O 동작을 요약합니다.

모드 r r+ w w+ a a+
읽어주세요 + + + +
기입하다 + + + + +
만들다 + + + +
덮다 + +
선두에 포인트 + + + +
포인트 인 엔드 + +

위 표의 Decision Tree:

r+는 읽기 및 쓰기를 동시에 수행하기 위한 표준 모드입니다.이는 다음 명령어를 사용하는 것과 다르지 않습니다.fopen()이후 시스템 호출file()/open()operating system의 호출에 관한 작은 래퍼에 지나지 않습니다.

다음과 같은 작업을 시도했지만 예상대로 작동합니다.

f = open("c:\\log.log", 'r+b')
f.write("\x5F\x9D\x3E")
f.read(100)
f.close()

장소:

f.read(size) - 파일 내용을 읽으려면 f.read(size)를 호출합니다.f.read(size)는 일정량의 데이터를 읽고 문자열로 반환합니다.

그리고:

f.write(string)는 문자열의 내용을 파일에 쓰고 None을 반환합니다.

또한 파일 읽기 쓰기에 대한 Python 튜토리얼을 열면 다음과 같은 내용을 볼 수 있습니다.

'r+'는 파일을 읽고 쓸 수 있도록 엽니다.

Windows 에서는, 모드에 「b」를 부가하면 파일이 바이너리 모드로 열리기 때문에, 「rb」, 「wb」, 「r+b」등의 모드도 있습니다.

언급URL : https://stackoverflow.com/questions/6648493/how-to-open-a-file-for-both-reading-and-writing

반응형