如何在Python中获取文件大小

时间:2020-02-23 14:42:17  来源:igfitidea点击:

我们可以使用os模块在Python中获取文件大小。

Python中的文件大小

python os模块具有stat()函数,我们可以其中传递文件名作为参数。
该函数返回一个包含文件信息的元组结构。
然后,我们可以获取它的st_size属性来获取文件大小(以字节为单位)。

这是一个简单的程序,用于打印文件大小(以字节和兆字节为单位)。

# get file size in python
import os

file_name = "/Users/hyman/abcdef.txt"

file_stats = os.stat(file_name)

print(file_stats)
print(f'File Size in Bytes is {file_stats.st_size}')
print(f'File Size in MegaBytes is {file_stats.st_size/(1024 * 1024)}')

输出:

Python中的文件大小

如果您查看stat()函数,我们可以再传递两个参数:dir_fd和follow_symlinks。
但是,它们尚未在Mac OS中实现。

这是一个更新的程序,我尝试使用相对路径,但是会抛出NotImplementedError。

# get file size in python
import os

file_name = "abcdef.txt"
relative_path = os.open("/Users/hyman", os.O_RDONLY)

file_stats = os.stat(file_name, dir_fd=relative_path)

输出:

Traceback (most recent call last):
File "/Users/hyman/.../get_file_size.py", line 7, in <module>
  file_stats = os.stat(file_name, dir_fd=relative_path)
NotImplementedError: dir_fd unavailable on this platform

Python文件大小相对路径NotImplementedError