函数清除输出的所有内容

Function clear's everything on output

上次 "for loop" 在主呼叫板中我希望打印保留

import ast
import subprocess
import platform

def clear():
    subprocess.Popen( "cls" if platform.system() == "Windows" else "clear", shell=True)
    return

def pBoard(navn1, navn2, liste):
  print("       1     2     3 ")  
  print("    ----------------- ")  
  print("   1| ",liste[0][0]," | ",liste[0][1]," | ",liste[0][2]," | ")
  print("    ----------------- ")
  print("   2| ",liste[1][0]," | ",liste[1][1]," | ",liste[1][2]," | ")
  print("    ----------------- ")
  print("   3| ",liste[2][0]," | ",liste[2][1]," | ",liste[2][2]," | ")   
  print("    ----------------- ")


def hVunnet():
  print("Hei")

def lTrekk():
   print("Hei")

def iD():
  kor1, kor2 = ast.literal_eval(input("Ditt trekk:"))

def nBrukere():
  navn1 = input("Hva er navnet til bruker 1? : ")
  navn2 = input("Hva er navnet til bruker 2? : ")
  return navn1, navn2


def main():
  liste = [[0 for x in range(3)] for x in range(3)] 
  navn1, navn2 = nBrukere()
  for x in range (0,3):
    clear()
    pBoard(navn1, navn2, liste)

main()

提前致谢。

您需要等待子进程退出才能继续打印最后一块板。或者,了解要将哪些字节输出到终端以清除它(我不知道它们是什么),然后在您的程序中执行此操作,而不是为此执行另一个进程。

最简单的方法是使用 subprocess.run() 而不是 subprocess.Popen()