Python 中的文件大小差异

问题描述 投票:0回答:1

当我使用 st_size 读取文件大小时,我得到 11264 字节:

k = os.stat(r"C:\Users\sakth\Desktop\ASRS.txt")
print(k.st_size)

但是当我按块读取文件并总结它们的字节时,我只得到 11060 字节。

fp = open(r"C:\Users\sakth\Desktop\ASRS.txt", 'r')
total_bytes = 0

while True:
    chunk = fp.read(1024)
    if chunk == '':
        print("File reached EOF")
        break
    print(chunk)
    total_bytes = total_bytes + len(chunk)

print("total bytes sent", total_bytes)

为什么同一个文件获得的大小不同?

python python-3.x file
1个回答
4
投票

您使用的是 Windows,并且您的文件可能包含 204 (11264-11060) 个回车换行对,在文本模式下读取时,它们会标准化为单个换行 (

\n
) 字符。使用二进制模式 (
'rb'
) 可以避免这种转换。

© www.soinside.com 2019 - 2024. All rights reserved.