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()を呼び出すときに読み取りを待つバイト数です。特に、非ブロック開放後にこれらの特殊ファイルの1つをポーリングするときにそうです。その他の文字およびブロックデバイスサイズフィールドの意味は、基本的なシステムコールの実装によって大きく異なります。

関連情報