如何在Python脚本(Kodi插件)中运行FFPROBE不弹出Windows命令窗口?
解决Windows下调用ffprobe弹出命令窗口的问题
在Windows 11系统中,使用subprocess调用ffprobe获取视频时长时,即便代码文件用了.pyw后缀、ffprobe参数加了-hide_banner和-v quiet,仍会短暂弹出黑色命令窗口,Linux Mint下无此问题。
解决方法很简单,在subprocess.run()中添加Windows特有的creationflags=subprocess.CREATE_NO_WINDOW参数,就能彻底抑制外部进程的控制台窗口:
result = subprocess.run( ["ffprobe", "-hide_banner", "-v", "quiet", "-show_entries", "format=duration", "-of", "default=noprint_wrappers=1:nokey=1", filename], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, creationflags=subprocess.CREATE_NO_WINDOW )
原理是:.pyw后缀仅能让Python自身不显示控制台,但调用外部程序时,Windows默认会为其创建新的控制台窗口。CREATE_NO_WINDOW参数会告知系统不为ffprobe进程创建控制台,从根源解决弹窗问题。
内容的提问来源于stack exchange,提问作者fnord12
相关产品推荐
相关产品推荐

