编辑*解决方案:删除“暂停”。我正在运行一个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()
问题是在执行之后,它会输出“按回车继续.”这打断了程序。*在我最初的例子中,我忘了包括";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()
对原帖子造成的混乱表示歉意。谢谢你的帮助。
发布于 2022-01-07 03:17:26
PowerShell通常会退出,除非在命令行指定-NoExit
。即使这样,它也不会包含您正在看到的消息,除非您在末尾添加一个pause
。即使如此,我还是希望你的命令看起来更像
'C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe & {yt-dlp https://www.youtube.com/watch?v=jtjnnykvnh4}'
我猜这与Python有更多的关系,尽管我还没有遇到它-- before...have --您尝试从另一个命令行(在Windows上执行cmd,在Linux/Mac上执行PowerShell或在Linux/Mac上执行bash或另一个最喜欢的命令行)来验证是否获得了独立于Python的相同结果?
另一种可能是,您正在使用的yt-dlp
工具具有pause
效果(我不熟悉该工具)。它是一个PowerShell模块吗?还是可以在命令行上运行,而不需要PowerShell作为中间人呢?它是有一个“沉默”或"-q
“论点,还是另一个更相关的论点?
https://stackoverflow.com/questions/70615340
复制相似问题