我在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_* constants设置如何解释搜寻偏移量(.seek()的第一个参数)。

或者您可以使用os.fstat() function来检索打开文件的大小:

import os

size = os.fstat(fileobj.fileno()).st_size


后面的信息可以更容易地被OS缓存,因此通常会更快。

关于python - tell()到底返回什么,以及如何使用它计算文件读取的百分比?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14860147/

10-12 03:51
查看更多