반응형
읽기 및 쓰기를 모두 위해 파일을 여는 방법은 무엇입니까?
파일을 읽고 쓸 수 있는 방법이 있나요?
회피책으로 쓰기 위해 파일을 열었다가 닫았다가 다시 열어 읽습니다.하지만 읽고 쓸 수 있는 파일을 열 수 있는 방법이 있을까요?
파일을 닫았다가 다시 열지 않고 파일을 읽은 다음 기존 데이터를 덮어쓰는 방법은 다음과 같습니다.
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
반응형
'programing' 카테고리의 다른 글
MySQL: INT를 DATETIME으로 변환 (0) | 2022.09.18 |
---|---|
JABORK에서 Java를 9에서8로 다운그레이드 하는 방법이클립스는 Java 9에서 실행되고 있지 않습니다. (0) | 2022.09.18 |
MySQL에서 테이블 열 이름을 가져오시겠습니까? (0) | 2022.09.18 |
$(문서)에 해당하는 jQuery 이외의 것은 무엇입니까?ready()? (0) | 2022.09.18 |
php page html 출력을 최소화하는 방법 (0) | 2022.09.18 |