concatenate function

Chris Rebert clp2 at rebertia.com
Tue Mar 13 16:40:40 EDT 2012


On Tue, Mar 13, 2012 at 1:35 PM, Robert Kern <robert.kern at gmail.com> wrote:
> On 3/13/12 6:01 PM, ferreirafm wrote:
>> Robert Kern-2 wrote
>>> When you report a problem, you should copy-and-paste the output that you
>>> got and
>>> also state the output that you expected. I have no idea what you mean
>>> when
>>> you
>>> say "subprocess.Popen seems not accept to run "qsub" over a second
>>> program."
>>>
>>
>> Code goes here:
>> http://ompldr.org/vZDB5YQ
>>
>> stdout:
>> $ no_name.py --toplist top_percent.list
>> Traceback (most recent call last):
>>   File "/home6/psloliveira/ferreirafm/bin/no_name.py", line 73, in<module>
>>     main()
>>   File "/home6/psloliveira/ferreirafm/bin/no_name.py", line 68, in main
>>     comb_slt(toplist)
>>   File "/home6/psloliveira/ferreirafm/bin/no_name.py", line 55, in
>> comb_slt
>>     subprocess.Popen([cmd, options], env=qsub_env)
>>   File "/share/apps/python/lib/python2.7/subprocess.py", line 679, in
>> __init__
>>     errread, errwrite)
>>   File "/share/apps/python/lib/python2.7/subprocess.py", line 1228, in
>> _execute_child
>>     raise child_exception
>> OSError: [Errno 13] Permission denied
>
>
> You need to use a command list like this:
>
> ['qsub', 'combine_silent.linuxgccrelease', '-database',
> '/home6/psloliveira/rosetta_database/', ...]
>
> The program to run ("qsub", not "qsub combine_silent.linuxgccrelease") and
> each individual argument must be a separate string in the list. You cannot
> combine them together with spaces. The reason you get a "Permission denied"
> error is that it tried to find an executable file named "qsub
> combine_silent.linuxgccrelease" and, obviously, could not.

See also the first "Note" box (and the description of "args" generally) under
http://docs.python.org/library/subprocess.html#popen-constructor

Cheers,
Chris



More information about the Python-list mailing list