2013-02-23 21 views
0
import urllib2 
import audiotools 

file = urllib2.urlopen('http://test.com/1.mp3') 
audio = audiotools.open(file) # <- error 

我可以將文件從內存(不是從驅動器)提供給audiotools嗎? 或者在這裏以任何方式從url加載mp3文件到audiotools?不要將它保存在硬盤上。python audiotools從內存中打開

+0

當你遇到一個錯誤,並尋求幫助,這將是很好,如果你真的包括什麼錯誤說 – 2013-02-23 11:51:29

+0

對不起:)我知道audiotools.open(文件名)只接受字符串作爲輸入,但我想使用二進制原始文件的文件名。 – 2013-02-23 11:57:09

+0

我們在哪個平臺上? – 2013-02-23 11:58:03

回答

1

這似乎是audiotools的一個限制,而不是一個無用的解決辦法。例如參見MP3Audio類(https://github.com/tuffy/python-audio-tools/blob/master/audiotools/mp3.py)。文件名一直向下傳遞,通過庫的多個層。因此,它幾乎已成爲一個真正的文件名(即一個可以open()「d。

我想到的,如果你是絕望的解決方案是使不磁盤備份文件的唯一的事。例如,/dev/shm是許多Linux系統上的一個掛載點,它並不是指真實磁盤,而只是指存儲器。因此,你可以將你的音頻文件寫入/dev/shm/foo.mp3,然後告訴audiotools打開它。

+0

非常感謝!/dev/shm是個好主意! – 2013-02-23 12:09:10