如何从换行符使用不同的分隔符读取子流程标准输出

Shitong

我想我可以在另一个线程中使用JF Sebastian的答案,使用行缓冲区逐行读取子流程

p = Popen(["command", "args"], stdout=PIPE, bufsize=1)
with p.stdout:
    for line in iter(p.stdout.readline, b''):
        print(line, end='\n')

我要解决的问题是我的输出没有换行符,但是使用特殊字符(例如“#”)来表示终止,我想在打印时将其视为换行符。

帕德拉克·坎宁安

您可以一次读取一个char以检查定界符:

p = Popen(["command", "args"], stdout=PIPE, universal_newlines=True)
tmp = ""
delims = {"#", "!"}
for ch in iter(lambda: p.stdout.read(1), ""):
    if ch in delims:
        print(tmp)
        tmp = ""
    else:
        tmp += ch

不是最漂亮的解决方案,但是如果您有多个定界符,那么我看不到许多其他方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用不同的分隔符读取数据?

Spark:使用与换行符不同的分隔符读取文件

如何使用换行符作为分隔符?

读取文件,计算分隔符,并使用不匹配的分隔符输出行号

当行分隔符是换行符并且csv数据中包含换行符时,如何使用fs readfile读取csv?

Python - 如何在 CSV 输出中添加分隔符并删除换行符?

如何使用awk过滤换行符作为记录分隔符和字段分隔符

如何使用awk将空行用作记录分隔符并将换行符用作字段分隔符?

如何在group_concat函数MYSQL中使用换行符作为分隔符?

如何正确使用换行符作为分隔符将输入保存到数组中

大熊猫:读取多行CSV,例如使用不同的分隔符输入

如何从R读取换行符分隔的JSON文件?

Sscanf-使用不同的分隔符进行解析

嵌套连接使用不同的分隔符

数字:使用不同的分隔符导出CSV

使用不同的分隔符拆分文本

bash - 字段分隔符空格或换行符

大厨壳散列(分隔符是换行符)

读取以换行符分隔的参数

如何处理 c 中的换行符和分隔符间距?

如何仅转义分隔符而不是 CSV 中的换行符

使用tail时将换行符转换为以空分隔符

使用换行符作为分隔符与numpy.savetxt不起作用

使用换行符分隔符时,Bash会去除“ N”字符

如何使用BufferedReader从平面文件中读取数据,并用换行符分隔值?

如何使用 csvkit 将 csv 格式化为多行换行符分隔的纯文本输出

如何联接列表项,但对最后一项使用不同的分隔符?

如何为最后一个项目使用不同的分隔符?

如何在python中使用不同的分隔符解析值