Вы можете заметить свойства, вызывающие циклическую ссылку. Затем вы можете сделать что-то вроде:
private Object DeCircular(Object object)
{
// Set properties that cause the circular reference to null
return object
}
Взгляните на это: dd с прогрессом в питоне
Я нашел решение.
import subprocess
import sys
cmd = ["dd", "if=/dev/cdrom", "of=/tmp/iso.iso", "bs=2048", "count=499472", "status=progress"]
process = subprocess.Popen(cmd, stderr=subprocess.PIPE)
line = ''
while True:
out = process.stderr.read(1)
if out == '' and process.poll() != None:
break
if out != '':
s = out.decode("utf-8")
if s == '\r':
print(line)
line = ''
else:
line = line + s
Спасибо всем за ваши ответы.