文章详情页
python - subprocess模块怎样返回执行文件内容?
浏览:266日期:2022-07-05 11:48:27
问题描述
如下面的代码,调用mplayer播放本地音频文件,是否能够通过p获取到filepath文件中的数据?
p=subprocess.Popen(['mplayer',filepath],shell=False,stdin=subprocess.PIPE,stderr=subprocess.PIPE)
filepath也可能是个url,需要其中的数据,但是不想额外地再次访问这个地址。-------补充-------试着调试时跟进去过,想看看有没有在调用mplayer前获取了文件内容,但是到了subprocess模块里,单步调试不管用了,所以想知道是否在调用mplayer前subprocess模块已经拿到数据,如果是那就能获取这些数据了。
问题解答
回答1:subprocess只是一个调用命令的库, 它的stdin, stdout也只是储存 命令输出的 结果, 如果你的命令, 在执行过程中, 有结果,有文本或者什么别的输出, 那么可以获取, 但是如果你说像解析这个音频文件, 那应该是不行的, 或者你需要别的解析方式去解释, 或者直接打开那个文件, 说不定也能得到你想要的
回答2:感觉你想获取的是音频数据的metadata,如实是MP3的话可以试试ID3这个库。
相关文章:
1. node.js - 我是一个做前端的,求教如何学习vue,node等js引擎?2. docker images显示的镜像过多,狗眼被亮瞎了,怎么办?3. docker api 开发的端口怎么获取?4. 如何解决Centos下Docker服务启动无响应,且输入docker命令无响应?5. 如何解决docker宿主机无法访问容器中的服务?6. 老师,flex-shrink: 1; 按视频操作,不会自动缩放7. java - 为什么第一个线程已经释放了锁,第二个线程却不行?8. sublime-text - sublime text 3中编译python(sublimeREPL),如何仅运行单行/选定部分9. 前端 - 类到底该如何去命名 .newsList 这种的命名难道真的不是过度语义化吗?~10. PHP中的$this代表当前的类还是方法?
排行榜

网公网安备