嗯,我绝对不是专家,但让我试一试。您可以做的是将所有终端输出重定向到一个文件,例如calculation.py <userinput> >> text.txt
在您的计算代码中使用它,即:
while calculation: # <- your function
with open('text.txt', 'w') as f: # <- open a text file for ouput
f.write(<calculation output>) # <- keep writing the output
或者如果您的程序不是python os.system('<terminal command i.e. "echo foo">')
,则使用第一种方法将输出定向到文件。
这样做之后,在您的 tkinter 代码中:
def cmdOutput():
output = os.system('cat text.txt') # <- replace "cat" with "type" if windows.
return output.split("\n")[-1] # <- return the last item in the list.
while cmdOutput() == "<calculating...>": # <- or something like that.
tkinterUpdateMethodDeclaredSomewhere(cmdOutput())
else:
tkinterUpdateMethodFinalAnswer(cmdOutput())
虽然我确信有更好的方法可以做到这一点,但这是一种方法......你也可以编写一个命令来删除末尾的文件cmdOutput
,或者从中读取并将必要的位粘贴到日志文件或其他东西...
我希望这有帮助。