Linux 및 Python3에서 파일 크기가 다른 판독값

Linux 및 Python3에서 파일 크기가 다른 판독값

터미널 폴더에 일부 파일이 있습니다. 사진에 보이는 것처럼 파일 크기는 33kB인데 마우스를 올려놓으면 33.88kB로 보입니다.

여기에 이미지 설명을 입력하세요.

그러나 os.stat 및 os.path를 사용하여 동일한 파일의 크기를 확인할 때 다른 숫자(바이트 단위)가 나타납니다. 내가 뭘 잘못했나요? 감사해요

여기에 이미지 설명을 입력하세요.

답변1

간단히 말해서 Python의 os.stat()출력 크기는 바이트 단위로 측정됩니다. 그러나 파일 관리자는 크기를 다음과 같이 표시합니다.킬로바이트, 이는 킬로바이트와 같은 10의 거듭제곱이 아니라 2의 거듭제곱입니다(대부분의 컴퓨터 과학은 2의 거듭제곱을 사용하는 반면 일반 소비자는 10의 거듭제곱에 더 익숙하기 때문입니다).

여기에 이미지 설명을 입력하세요.

보다 구체적으로 Python은 os.stat()파일 유형에 따라 크기를 표시합니다.견적서:

"파일 크기"의 해석은 파일 유형에 따라 달라집니다. 일반 파일의 경우 파일 크기(바이트)입니다. 대부분의 Unix 버전(특히 Linux)에서 FIFO 및 소켓의 경우 "크기"는 os.stat(), os.fstat() 또는 os.lstat()를 호출할 때 읽기를 기다리는 바이트 수입니다. 특히 비차단 개방 후 이러한 특수 파일 중 하나를 폴링할 때 그렇습니다. 기타 문자 및 블록 장치 크기 필드의 의미는 기본 시스템 호출의 구현에 따라 크게 달라집니다.

관련 정보