我正在尝试学习C语言中的进程,并且我认为我了解管道的逻辑,但是即使我读了很多,也无法理解fifo。我最近使用管道制作了一个程序,该程序从标准输入中获取一个字符串,将其写入pipe1,检查其是否为字母数字,如果是,则pipe3读取并显示它。如果字符串仅包含数字,pipe2将读取该字符串并将其替换为_,然后pipe4将读取新字符串并显示该字符串。 我把它放在这里,因为我想用fifo做类似的事情:
pattern = re.compile('''':\s\"(?:.*)\s([a-zA-Z]+(?:['-][a-zA-Z]+)*)\s(?=[A-Z]{2,3})(?:.*)\"''')
text = re.sub(pattern, '\1', open("/home/franticoreo/politics/politicians_and_parties.json").read())
with open("clean_politicans_and_parties.json", "w") as f:
f.write(text)
不确定这是如何正确的,但是FIFO程序将只有3个进程,它首先从最多30个字符的标准输入行中读取,在第一个出口(process2)中写入数字,在第二个出口(process3)中写入字母。然后在process2中仅显示结果(找到的数字),在process3中将小写字母转换为大写字母并显示结果。
有人可以帮我吗?
答案 0 :(得分:0)
作为起点,您可以尝试这样的操作(大多数功能仍需要实现,请参见注释):
stream