![](/img/trans.png)
[英]Is there a way to increase the size (from 80 kB to 100 kB) of a pdf file without changing its contents?
[英]Difference in size of a file and its contents
为什么文件大小与读取文件后返回的字节 object 大小有差异?
print(os.path.getsize(filepath))
f=open(filepath,'rb')
contents=f.read()
print(sys.getsizeof(contents))
sys.getsizeof()
返回为contents
分配的 memory 的大小。 请注意,这不仅返回文件的内容,还返回方法头、 bytes
数据结构中的各种内部字段等。
您可以使用其他数据类型来证明这一点。 您会期望一个简单的浮点数为 4 或 8 个字节,但是
>>> sys.getsizeof(4.5)
24
剩下的字节是数据结构的 class 信息和属性以及指针和方法头等等的开销。
您会注意到len(contents) == os.path.getsize(filepath)
- bytes
object包含的字节数- 与预期的完全相同:
>>> print(os.path.getsize(filepath))
153
>>> f = open(filepath, 'rb')
>>> contents = f.read()
>>> type(contents)
<class 'bytes'>
>>> sys.getsizeof(contents)
186
>>> len(contents)
153
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.