python 运行其他命令行工具,实时打印输出内容

起因, 目的:

python 运行一个命令,最简洁的写法是:

python 复制代码
import os 

# 转换视频格式。
cmd = "ffmpeg -i a1.ts -c copy a1.mp4"

os.system(cmd)
问题:

如果上面的视频比较大,需要运行很长时间,那么感觉就像是卡住了, 不动了。 (而实际却还在运行)

其他情况,比如使用 streamlink 下载远程视频,也是一样的效果。

解决办法: 实时输出:
python 复制代码
import subprocess

cmd = "ffmpeg -i a3.ts -c copy a3.mp4"

with subprocess.Popen(cmd.split(" "), stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True) as process:
    for line in process.stderr:  # 输出结果
        print(line, end="")      # 避免新的空行


个人接单,留学生辅导,python, R语言,私聊.

老哥,支持一下啊。

相关推荐
派大星-?7 小时前
自动化测试五模块一框架(上)
开发语言·python·测试工具·单元测试·可用性测试
草莓熊Lotso7 小时前
Qt文件操作:QFile读写全解析
运维·开发语言·c++·人工智能·qt
S-码农7 小时前
Linux——互斥锁
linux·开发语言
Drifter_yh8 小时前
「JVM」 Java 类加载机制与双亲委派模型深度解析
java·开发语言·jvm
xyq20248 小时前
《Ionic 卡片:设计理念与实战指南》
开发语言
wjs20248 小时前
《Chart.js 环形图》
开发语言
水木姚姚8 小时前
string类(C++)
开发语言·c++·windows·vscode·开发工具
方便面不加香菜8 小时前
C++ 类和对象(一)
开发语言·c++
甲枫叶8 小时前
【claude产品经理系列13】核心功能实现——需求的增删改查全流程
java·前端·人工智能·python·产品经理·ai编程
浅念-8 小时前
C++ STL list 容器
开发语言·数据结构·c++·经验分享·笔记·算法·list