Run a external program.

Terry Reedy tjreedy at udel.edu
Sat Nov 14 20:14:23 EST 2009


Top-posting makes things more confusing. You cannot pass a Python file 
object to an external process. Pass the name instead.


Yasser Almeida Hernández wrote:
> So, how can i pass an argument as a variable in this context...?
> 
> 
> Quoting MRAB <python at mrabarnett.plus.com>:
> 
>> Yasser Almeida Hernández wrote:
>>> Hi all!!
>>>
>>> I'm writing a script where i call a external program which receive  
>>> some arguments.
>>> One of this arguments is stored in a variable, that is passed as  
>>> argument as well:
>>>
>>> import os
>>> ...
>>> f = open(file1, 'r')
>>> s = 'command $f -i file2 -w 1.4 -o file3.out'
>>> os.system(s)
>>> ...
>>>
>>> When i run the script i get the next message...
>>> '-i: No such file or directory'
>>> ... with a obvious error in the exit of the program. If i remove  the 
>>> option -i i get the same error with every option, even with  those 
>>> who don't get any file as argument. (file2 exist).
>>> BUT, when i run the external program in a python shell, it works...
>>>
>>> What's wrong?
>>>
>> The name 'f' in the Python script exists only in Python and is unrelated
>> to the '$f' that the shell sees.
>> -- 
>> http://mail.python.org/mailman/listinfo/python-list
> 
> 
> 





More information about the Python-list mailing list