Run a external program.
python at mrabarnett.plus.com
Sat Nov 14 21:56:30 CET 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'
>>> 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