如何在没有cat命令的情况下在python中管道数据?

ebo*_*rus 5 python subprocess python-2.7

我在first.py中有以下工作代码 :

import os 
os.system('cat python_better_than_java.wav')
Run Code Online (Sandbox Code Playgroud)

我可以像这样执行

python first.py |  ffmpeg -y -f wav -i pipe:0 -f mp3 - >hi.mp3
Run Code Online (Sandbox Code Playgroud)

这很有效.

我想以pythonic方式执行此操作,因此我将first.py编辑为:

import sys
with open('python_better_than_java.wav', 'rb') as content_file:
    content = content_file.read()
sys.stdout.write(content)
Run Code Online (Sandbox Code Playgroud)

并使用以下方式执行:

python first.py | ffmpeg -y -f wav -i pipe:0 -f mp3 - >hi.mp3
Run Code Online (Sandbox Code Playgroud)

但是它会产生以下错误:

pipe:0: Invalid data found when processing input
Run Code Online (Sandbox Code Playgroud)

我怎样才能在python中重现cat