私はファイルfile.txtを持っています
やって
print os.path.getsize(filename)
出力
6510
とやって
print len(open(filename).read())
私を取得します
6355
どうして ?私はWindows7を使用しています。Windowsエクスプローラーでファイルのプロパティを見ると、
サイズ:6.35 KB(6,510バイト)
open(filename)
filename
テキストモードで開きます。
これは、すべての(キャリッジ リターン、ライン フィード) がPython 文字列内\r\n
の単一に変換されることを意味します。\n
ファイルの長さは 155 行のようです。
これは、ファイルがディスクに保存されるときに、ファイルシステムが余分なバイトを使用して、作成日や最終更新日などのファイルのさまざまなプロパティを保存するためです。あなたがするとき
print os.path.getsize(filename)
ディスク上の実際のファイルのサイズを取得します。
しかし、もしそうなら
print len(open(filename).read())
ファイルに保存されているコンテンツまたはデータの長さを取得するだけで、常に短くなります。
まさにこの理由で、Windows エクスプローラーのプロパティ ウィンドウには、サイズ (つまり、ファイルの内容の実際の長さ) とディスク上のサイズ (ディスク上のファイルが実際に占有するバイト数) が表示されます。