繁体   English   中英

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

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

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

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

在我尝试在我的程序中输入一些东西之前,这非常有效。 我的代码中有这个永久循环,它允许我输入一个字符串并将其回显给我:

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

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

这是预期的 output 直到红色“就绪”之后。 出于某种原因,命令提示符在我的脚本的输入和命令提示符的输入之间交替,它们都以错误的文本开头,“>”应该是我的脚本的输入,但是正在发送该输入到命令提示符,并且“...\raspi>”应该是命令提示符的输入,但是该输入被发送到我的脚本。 任何人对为什么会发生这种情况有任何想法? 为什么它在我的脚本和常规命令提示符之间交替出现?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM