【发布时间】:2015-11-21 14:47:53
【问题描述】:
Python 脚本创建子进程 proc = subprocess.Popen(),它每隔约 1 秒向 p.txt 写入几行。我想在proc 运行时实时处理此脚本中的p.txt 更新。
...
def seek_file(file, process):
while process.poll() is None:
l = file.readline().strip()
if not l:
sleep(0.1)
continue
else:
yield tuple(l.split('='))
...
p_file = open('p.txt')
data_tuples = seek_file(p_file, proc)
for d in data_tuples:
print(d)
...
为什么这段代码偶尔会变成死锁状态?处理频繁更新的文件并显示进度的最佳方式是什么?
【问题讨论】:
-
我认为
yeild是一个错字?
标签: python file python-3.x deadlock