Python:直接从下载转换为mp3,而无需保存文件请求/电影

问题描述

我需要将通过请求模块下载的MP4转换为具有Moviepy模块的MP3。

这两个操作完美配合。

但是,为了将MP4转换为MP3 (使用moviepy audio.write_audiofile()方法),

我需要将MP4保存到磁盘上(使用请求write()方法

基本上是没有用的,因为我会在之后删除

请问您是否知道有一种方法可以提取随请求一起下载的内容,然后直接将其转换为MP3文件

提前谢谢!

解决方法

我对此不太熟悉,但是我认为您可以使用io.BytesIO(https://docs.python.org/3/library/io.html#io.BytesIO),通过它您可以将数据(从记录中)写入BytesIO-Object而不是文件中(您可以在每个文件的读/写操作(而不是实际文件)上使用它)。一个例子:

export const MovieProvider = (props) => {
    const [isFav,setIsFav] = useState(false)
    const [movies,setMovies] = useState([]);
    const [filtered,setFilteredMovies] = useState([])

    const addMovies = (res) => {        
        setMovies([...res]);
    }

    const addFavMovies = (res) => {     
        if(res){ 
        setMovies([...res]);
        }
    }

    const addFilteredMovies = (res) => {        
        setFilteredMovies([...filtered,res]);
    }

    return (
        <MovieContext.Provider value={{
            fav: [isFav,setIsFav],movies,addMovies,addFavMovies,filtered,addFilteredMovies,}}>
            {props.children}
        </MovieContext.Provider>
    )
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...