当我使用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)
任何人都可以解释为什么同一个文件会获得不同的大小?
答案 0 :(得分:4)
您在Windows上,并且您的文件可能包含204(11264-11060)回车换行符对,当在文本模式下读取时,它们被归一化为单个换行符(\n
)字符。使用二进制模式('rb'
)来避免此转换。