吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1340|回复: 5
收起左侧

[求助] Python 调用7za/ffmpeg等外部程序是总是有cmd黑窗口

[复制链接]
Emeraldsheep 发表于 2022-9-11 13:28
Python 调用7za/ffmpeg等外部程序是总是有cmd黑窗口
我写了一个带界面的批量解压软件,但调用外部程序exe的时候总是要弹出cmd的黑窗口
很难看,有没有什么方法能够不显示7za的cmd窗口

我试过很多方法了,比如改后缀为pyw,调用bat但是太麻烦
求助

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

wkdxz 发表于 2022-9-11 14:51
可以尝试使用 os.popen 替代  os.system ,有的情况下可以隐藏黑框
hrpzcf 发表于 2022-9-11 15:07
本帖最后由 hrpzcf 于 2022-9-11 15:14 编辑

用subprocess.Popen执行命令,设置合适的startupinfo就参数可以了。例子:
[Python] 纯文本查看 复制代码
from subprocess import PIPE, STARTF_USESHOWWINDOW, STARTUPINFO, STDOUT, SW_HIDE, Popen

startup = STARTUPINFO()
startup.dwFlags = STARTF_USESHOWWINDOW
startup.wShowWindow = SW_HIDE

process = Popen(
    ["ffmpeg", "xxx", "xxx"],
    stdout=PIPE,
    stderr=STDOUT,
    text=True,
    startupinfo=startup,
)
out_put = process.communicate()[0]
return_code = process.returncode

免费评分

参与人数 1热心值 +1 收起 理由
Emeraldsheep + 1 谢谢@Thanks!

查看全部评分

wu_yang007 发表于 2022-9-11 21:23
本帖最后由 wu_yang007 于 2022-9-11 21:28 编辑

小白曲线打开BAT bat 里再用start /b 或者 用nircmd execmd   [mpv播放器 用 os.system( start /b mpv  链接)]可无窗




 楼主| Emeraldsheep 发表于 2022-9-12 08:18
本帖最后由 Emeraldsheep 于 2022-9-12 10:23 编辑
hrpzcf 发表于 2022-9-11 15:07
用subprocess.Popen执行命令,设置合适的startupinfo就参数可以了。例子:
[mw_shl_code=python,true]from ...

明白了,感谢
还问下大佬,这个Popen里面的[]列表是什么意思,是把里面所有的命令都遍历一遍吗
hrpzcf 发表于 2022-9-12 11:03
Emeraldsheep 发表于 2022-9-12 08:18
明白了,感谢
还问下大佬,这个Popen里面的[]列表是什么意思,是把里面所有的命令都遍历一遍吗

不是遍历。命令行怎么敲,列表就怎么写。命令行里空格分隔的每一个命令对应列表里的每一项。列表第一项可以是可执行文件的相对路径或者完整路径比如“.\\tools\\ffmpeg.exe”或者"d:\\abc\\tools\\ffmpeg.exe",这样就不用吧ffmpeg加入环境变量也可以调用了。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 08:33

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表