[Tutor] opening a file directly from memory

Dave Angel davea at ieee.org
Sun Nov 15 05:19:36 CET 2009


(You forgot to send this message to the list, so I'm forwarding it)

mjekl at iol.pt wrote:
>> davea at ieee.org wrote:
>> mjekl at iol.pt wrote:
>>> <div class="moz-text-flowed" style="font-family: -moz-fixed">I'm 
>>> wondering if I must save a file to memory before opening it. By 
>>> opening I mean displaying it to the user.
>>>
>>> I have a BLOB field in a db and I have managed to read the blob into 
>>> a binary fileobject. I've also managed to write it to disk and then 
>>> I open it by doubleclicking on it. But I was wondering:
>>>
>>> 1. How to open the file directly from code (and not by double 
>>> clicking):
>>> I'm aware of os.startfile on Win by I'm on a Mac now, so I rather 
>>> have a cross-platform way of accomplishing this.
>>>
>>> 2. If there is any Python module that takes care of saving and 
>>> cleaning temp files in an OS transparent way?
>>>
>>> Txs,
>>> Miguel
>>>
>>
>> You don't say what this binary data is.  Is there a specific program 
>> that should be launched to "display it to the user" ?  Or do you have 
>> to keep this general?
>>
>> If you know what the necessary program is, you could use subprocess 
>> module to launch it.  But I don't know enough about the Mac to know 
>> how to do the Mac equivalent of  os.startfile
>>
>> As for avoiding the use of a file, that depends entirely on the 
>> program you're launching.  Some programs can be told to get their 
>> data from stdin.  If that's the case, there's a way to provide stdin 
>> directly from Python, using subprocess.
>>
>> As for temporary files, consider tempfile module. I haven't used it, 
>> but it looks promising. HTH,
>> DaveA
>>
>
> I know what the binary data is from the database. Typically it would 
> be some file the OS knows how to open.
> Chiefly I'm trying to avoid making the user save the file on some 
> location and then go and double click it to open it. This makes no 
> sense, since the user has already made the decision to open the file.
> Miguel
>
> Txs Dave.
>
You forgot to answer the question.  You say "The OS knows how to open".  
Does *your* *program* know what program is needed, to open this 
particular binary data?




More information about the Tutor mailing list