import urllib2
import audiotools
file = urllib2.urlopen('http://test.com/1.mp3')
audio = audiotools.open( file ) # <- error
我可以将文件从内存(而非驱动器)发送到audiotools吗? 或者在这里任何方式从网址加载mp3文件到audiotools?不保存在硬盘上。
答案 0 :(得分:1)
这似乎是audiotools的限制,而不是一个无关紧要的工作。例如,参见MP3Audio类(https://github.com/tuffy/python-audio-tools/blob/master/audiotools/mp3.py)。文件名一直向下传递,通过库的多个层。所以它几乎必须是一个真正的文件名(即可以open()
'的文件名。
如果您迫切需要一个解决方案,那么唯一想到的就是创建一个不受磁盘支持的文件。例如,/dev/shm
是许多Linux系统上的挂载点,它不是指真实磁盘,而是指内存。因此,您可以将音频文件写入/dev/shm/foo.mp3
,然后告诉audiotools打开它。