p. wrote: > I am using the mutagen module to extract id3 information from mp3 > files. In order to do this, you give mutagen a filename, which it > converts into a file object using the python built-in "file" function. > > Unfortunately, my mp3 files don't live locally. They are on a number > of remote servers which I access using urllib2. > > Here is my dilemma: > I don't want to copy the files into a local directory for mutagen's > sake, only to have to remove them afterward. Instead, I'd like to load > the files into memory and still be able to hand the built-in "file" > function a filename to access the file in memory. > > Any ideas on how to do this?
Looks like you would need to "hack" the source and replace lines like: def load(self, filename): self.filename = filename fileobj = file(filename, "rb") with something like: def load(self, filename): if hasattr(filename, 'read'): fileobj=filename if hasattr(filename, 'name'): self.filename = filename else: self.filename = 'unknown' else: self.filename = filename fileobj = file(filename, "rb") -Larry -- http://mail.python.org/mailman/listinfo/python-list