簡體   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