Python에서 w + 옵션을 사용하여 파일을 열 때 파일 자르기는 어떤 작업을 수행합니까?


최상 답변

당신이 묻는 질문 : python에서 w + 옵션을 사용하여 파일을 열 때 파일을 자르는 것은 무엇을합니까?

파일을 0으로 자르는 것은 모든 내용을 버리는 것을 의미합니다. 파일 크기가 0이되어 비어있게됩니다. (데이터는 사라졌지 만) 파일은 여전히 ​​파일 시스템에 존재합니다.

UNIX 및 UNIX 계열 운영 체제 (일반적으로 POSIX) 호환 운영 체제) truncate(2) 시스템 호출이 있습니다.이 시스템 호출은 파일 내용의 일부 또는 전체 (파일 끝까지)를 삭제하는 데 사용할 수 있습니다.

이러한 시스템에서 open(2) 시스템 호출은 flags 매개 변수로 지정 될 수 있습니다. O\_TRUNC 플래그는 파일 내용을 열 때 0으로 잘라야 함을 알려줍니다.

마찬가지로 C 표준 I / O 라이브러리 함수 fopen()는 파일이 쓰기 위해 열려 있고 그렇지 않은 경우 생성되어야 함을 나타내는 열기 모드 w+를 지정할 수 있습니다. t 존재하거나 이미 존재하는 경우 0으로 잘라야합니다.

그리고 Python의 open() 함수는 함수, w+는 무엇이든 쓰기 전에 파일 내용을 길이가 0으로 자르는 것을 의미합니다.

답변

질문에 더 많은 설명이 필요합니다. 누가 잘림을하고 있습니까? 스트림이나 다른 프로세스를 연 동일한 파이썬 프로세스? 다른 스레드 / 프로세스가 파일을 자르기 때문에 파이썬 파일이 파일에 쓰고 있습니까? 자르기 작업이 루프에서 발생합니까?

질문에 대한 대답은 이러한 쓰기 및 자르기 작업이 발생할 때 파일에 어떤 일이 발생하는지에 따라 달라집니다….

또한… protip : python2 문서를 보지 마십시오. python3 문서를보십시오. 그리고 일반적으로 python3 사용

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다