lin读取缓冲线内容

2024-10-01 07:37:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我必须逐行解析printfbuf的内容,我该怎么做呢? 我尝试了以下代码,但它每行打印一个字符:

import StringIO
import ctypes

printbuffer = ctypes.create_string_buffer(100000)
print_buff = ctypes.c_char_p(ctypes.addressof(printbuffer))

buf = StringIO.StringIO(print_buff)
for x in buf.readline():
    print(x)

Tags: 代码import内容stringbuffercreatectypes字符
1条回答
网友
1楼 · 发布于 2024-10-01 07:37:17

你想要readlines(复数),而不是readline
readline读取一行并返回它(这样您就可以迭代字符串中的字符,一次一个),而readlines则一行接一行地返回文件中的每一行。
逐行迭代是file对象(和StringIO对象)的默认值,因此您可以使用

for x in buf:
    print(x)  # you may want to print x[:-1] to avoid extra newlines

相关问题 更多 >