concatenate function

Robert Kern robert.kern at gmail.com
Tue Mar 13 16:35:04 EDT 2012


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.

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
  that is made terrible by our own mad attempt to interpret it as though it had
  an underlying truth."
   -- Umberto Eco




More information about the Python-list mailing list