重新启动脚本后命令提示符 (windows) 和 python 脚本出现问题

Issue with command prompt (windows) and python script after restarting script

我正在尝试在 windows 中使用 python 编写 CLI 程序。我最近遇到了 argparse 的问题,我的解决方法是清除命令提示符并使用以下代码使用相同的参数重新运行我的脚本:

sys.stdout.flush
os.execl(sys.executable, 'python', __file__, *sys.argv[1:])

在我尝试向我的程序中输入一些内容之前,这一切都很好。我的代码中有这个永久循环,它允许我输入一个字符串并将其回显给我:

while True:
    action = input("> ")
    print(f'typed {action}')

但是一旦我在代码中达到那个点,它就不起作用了,这是我的输出:

这是红色“就绪”之前的预期输出。 出于某种原因,命令提示符在我的脚本输入和命令提示符输入之间交替,它们都以错误的文本开头,“>”应该是我脚本的输入,但正在发送该输入到命令提示符,“...\raspi>”应该是命令提示符的输入,但该输入正在发送到我的脚本。任何人都知道为什么会这样?为什么它在我的脚本和常规命令提示符之间交替?

我想到的解决方案是意识到 colorama.py 库的 cprint() 函数没有 return 文本,而只是调用打印函数(我应该能够通过函数的名称来推断)。所以我所要做的就是不将解析器的描述设置为 cprint() 函数,而是在需要时调用 cprint()