Python 2.7 Python:如何读取文件中的ETX(文本结尾)Hex 03?

Python 2.7 Python:如何读取文件中的ETX(文本结尾)Hex 03?,python-2.7,Python 2.7,我有一个包含多行的文件,现在我一次读取20480字节: while True: data = fh.read(20480) if data == '': fh.close() break 我有另一个文件,其中ETX用作分隔符。如何读取字符直到达到ETX 提前谢谢 假设您要读取多个记录,每个记录由ASCII 3分隔,则中的myreadlines函数将完成此任务 唯一的区别是使用值为3的字符作为分隔符,而不是句点,如下所示: delim = chr(

我有一个包含多行的文件,现在我一次读取20480字节:

while True:
    data = fh.read(20480)
    if data == '':
        fh.close()
        break
我有另一个文件,其中ETX用作分隔符。如何读取字符直到达到ETX


提前谢谢

假设您要读取多个记录,每个记录由ASCII 3分隔,则中的
myreadlines
函数将完成此任务

唯一的区别是使用值为3的字符作为分隔符,而不是句点,如下所示:

delim = chr(3)
with open('file') as f:
 for line in myreadlines(f, delim):
  print line

谢谢你的回答。你能告诉我为什么在这个函数中读取4096字节吗:
def myreadlines(f,换行符):buf=”“而True:while换行符在buf:pos=buf.index(newline)中产生buf[:pos]buf=buf[pos+len(换行符):]chunk=f.read(4096)if not chunk:yield buf break buf+=chunk
我认为值4096没有什么特别之处(它只是一个常见的块大小),另一个值也同样适用。