适用于PHP feof的Python替代品

时间:2020-03-28 19:28:55

标签: python php

PHP代码:

...
fseek($filesrc, 40);
while ( !feof($filesrc) ) {
    $slen_1 = fread($filesrc, 4);
...
例如,

$slen_1打印“ 停止路线

Python代码:

with open(filename, 'rb') as filesrc:
    filesrc.seek(40)
    while True:
        b = filesrc.read(1)
        if not b:
            break

        slen_1 = filesrc.read(4)

但是。此python代码显示“ Sop rote ”。而且我知道为什么。由于此行b = filesrc.read(1)。任何想法如何在二进制文件的python中检查文件结尾?预先感谢。

最好的方法是i = 0 ... i = i+1 while filesrc.read(1)然后重新读取并循环到已知的i吗?

1 个答案:

答案 0 :(得分:1)

只需:

with open(filename, 'rb') as filesrc:
    filesrc.seek(40)
    while True:
        slen_1 = filesrc.read(4)
        if not slen_1:
            break