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语言,私聊.

老哥,支持一下啊。

相关推荐
Zhang~Ling3 小时前
C++ 继承机制详解下:多继承、虚继承与菱形继承底层原理
开发语言·c++·算法
思麟呀3 小时前
C++工业级日志项目(四)日志落地
linux·开发语言·c++·windows
小熊Coding3 小时前
Python二手图书市场行为分析系统
开发语言·爬虫·python·django·计算机毕业设计·数据可视化分析·二手图书分析系统
AI算法沐枫3 小时前
机器学习经典小项目4:泰坦尼克号生存预测
人工智能·python·深度学习·线性代数·算法·机器学习·回归
威尔逊·柏斯科·希伯理3 小时前
机器学习第一天(共12天)
人工智能·python·机器学习·conda·numpy·pandas·matplotlib
MC皮蛋侠客3 小时前
C++17 多线程系列(二):共享数据与同步——mutex 与 condition_variable
开发语言·c++·多线程
愈努力俞幸运3 小时前
python 三引号
android·开发语言·python
止语Lab3 小时前
Go跨平台编译的决策树:从\
开发语言·决策树·golang
Das13 小时前
【408】C语言标识符
c语言·开发语言
zxd0203113 小时前
DevOps + CI/CD:从理念到 Jenkins 实战落地
java·开发语言