2

我正在阅读有关.html使用正则表达式(re模块)搜索文件的教程。我正在使用解释器。

我打开了文件并进行了搜索。每次尝试后,我都会f.seek(0)回到文件的开头进行下一次尝试。我使用 . 确认了我在文件中的位置f.tell()

我第一次这样做时,文件的位置(以字节为单位)被返回而没有L附加。但是经过几次尝试,f.tell()返回了L附加的位置。

我了解L表示文件位置(in bytes)是long number. 但是为什么会f.tell()突然开始返回L,而以前没有呢?

然后我关闭并重新打开文件,并从一开始就f.tell()返回long number

4

1 回答 1

3

是的,L表示 a long(实际上仅受内存和计算时间的限制)。

一旦值超出类型可以处理的范围, Python 通常会自动将 s 提升为ints 。此外,如果发生与另一个操作的某些操作,则结果始终是( → )。longintlonglong0 + 0L0L

在你的情况下,我只能推测是什么导致了这种影响。也许阅读超出一定限度会导致促销,也许是一些内部处理(并不总是发生)是原因。

我不认为这对你很重要。

于 2012-11-28T13:01:20.540 回答