Run a external program.

MRAB python at mrabarnett.plus.com
Sat Nov 14 15:56:30 EST 2009


Yasser Almeida Hernández wrote:
> So, how can i pass an argument as a variable in this context...?
> 
You can't pass arbitrary values on a command line. In this case, why not
just pass the path of the file?

s = 'command "%s" -i file2 -w 1.4 -o file3.out' % file1

> 
> 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.
> 




More information about the Python-list mailing list