編輯*解決方案:洗掉“暫停”。我正在運行一個 python 腳本,它呼叫 powershell 來執行一行代碼:
def download():
subprocess.call('C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe yt-dlp https://www.youtube.com/watch?v=jtjnnykvnh4;pause', shell=True)
download()
問題是執行后,它會輸出“Press Enter to continue...”這會中斷程式。*在我原來的例子中,我忘記包含“;pause”,結果證明是導致中斷的原因在程式中,正如標記的答案所指出的那樣。下面是運行后不提示“按回車繼續”的固定代碼行:
def download():
subprocess.call('C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe yt-dlp https://www.youtube.com/watch?v=jtjnnykvnh4;kill $pid', shell=True)
download()
對原帖造成的混亂表示歉意。謝謝您的幫助。
uj5u.com熱心網友回復:
除非您-NoExit在命令列中指定,否則 PowerShell 通常會退出。即使那樣,它也不會包含您看到的訊息,除非您pause在末尾添加 a 。即便如此,我希望你的命令看起來更像
'C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe & {yt-dlp https://www.youtube.com/watch?v=jtjnnykvnh4}'
我猜這與 Python 有更多的關系,盡管我之前沒有遇到過……您是否嘗試過從另一個命令列(Windows 上的 cmd 或 Linux/Mac 上的 bash 或其他最愛)執行 PowerShell 行來驗證您是否獲得了獨立于Python的相同結果?
另一種可能性是yt-dlp您正在使用的工具具有pause效果(我不熟悉該工具)。它是 PowerShell 模塊嗎?還是它可以在命令列上運行并且您不需要 PowerShell 作為中間人?它會有一個“沉默”或“ -q”論點,還是另一個更相關的論點?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/405500.html
標籤:
