我在 Windows 上使用 Python 2.7,而且我对 Python 很陌生,所以如果这很简单,请原谅我。
我读过的所有内容都说tell()返回“位置”,我相信这基本上是我们当前在读取中的光标位置。好的,这听起来很有帮助,但我不知道如何找到文件的总“位置”来计算百分比。
您可以寻找到文件的末尾,然后调用.tell()
:
import os
fileobj.seek(0, os.SEEK_END)
size = fileobj.tell()
fileobj.seek(0, os.SEEK_SET)
上面的例子使用os.SEEK_*
常量来设置如何解释查找偏移量(第一个参数.seek()
)。
或者您可以使用该os.fstat()
函数来检索打开文件的大小:
import os
size = os.fstat(fileobj.fileno()).st_size
后一种信息可以更容易地被操作系统缓存,因此通常会更快。