kutlus Asked: 2019-02-02 16:42:31 +0800 CST2019-02-02 16:42:31 +0800 CST 2019-02-02 16:42:31 +0800 CST linux和python3上的文件大小不同的读数 772 我在终端文件夹中有一些文件。如图所示,文件大小为 33 kB,当我将鼠标放在上面时,文件大小为 33.88 kB。 但是,当同时使用 os.stat 和 os.path 检查同一个文件的大小时,我得到一个不同的数字(以字节为单位)。我哪里做错了?谢谢 linux python3 1 个回答 Voted Best Answer Sergiy Kolodyazhnyy 2019-02-02T16:56:07+08:002019-02-02T16:56:07+08:00 长话短说,Python 的os.stat()输出大小以字节为单位。但是,您的文件管理器以千字节为单位显示大小,这是 2 的幂而不是千字节的 10 的度量(因为计算机科学大部分使用 2 的幂,而普通消费者更熟悉 10 的幂)。 更具体地说,Python 的os.stat()显示大小取决于文件的类型;引用文档: “文件大小”的解释因文件类型而异。对于普通文件,这是文件的大小(以字节为单位)。对于大多数 Unix(尤其包括 Linux)下的 FIFO 和套接字,“大小”是在调用 os.stat()、os.fstat() 或 os 时等待读取的字节数.lstat(); 这有时很有用,尤其是在非阻塞打开后轮询这些特殊文件之一。其他字符设备和块设备的大小字段的含义变化更大,具体取决于底层系统调用的实现。
长话短说,Python 的
os.stat()
输出大小以字节为单位。但是,您的文件管理器以千字节为单位显示大小,这是 2 的幂而不是千字节的 10 的度量(因为计算机科学大部分使用 2 的幂,而普通消费者更熟悉 10 的幂)。更具体地说,Python 的
os.stat()
显示大小取决于文件的类型;引用文档: