Launching scripts in Ubuntu ?
Stef Mientki
stef.mientki at gmail.com
Tue Oct 14 09:46:34 EDT 2008
Diez B. Roggisch wrote:
>>> What do you mean "it's not closed"?
>>>
>> well the command prompt (if it is called that way in Linus) is not
>> returned.
>>
>> When I run file_support, the command window looks like this
>> >>>python file_support.py
>> ..... all kinds of output
>> >>>
>>
>> When I run test.py (which calls fie_support) , I get this
>> >>>python test.py
>> .... all kinds of output (the same as before)
>>
>> Now I've to explicitly press an enter to get the command prompt back.
>> This might not sound important,
>> but the problem is somewhat more complex,
>> all these scripts are ran from another program,
>> and although everything works fine under windows,
>> the program hangs on Ubuntu.
>> So I guess that this is the (first) problem to solve.
>>
>
> This looks odd. I've never seen a *shell* display ">>>" as prompt.
">>>" stands for:
stef at stef-desktop:/media/disk/Data_Python_25/support$
> So it
> looks as if you mix stuff between the shell (bash, tcsh, whatever) and
> python in the above. Are you *inside* the python interpreter already when
> typing "python test.py"?
>
So no
> And if *not*, does typing e.g. "ls <return>" work for you, right after the
> test.py is run?
yes it does
> Then there is no "getting back of the prompt", it's just
> that a last newline is .. well, not even missing, just not printed.
> Consider this (I use $ for the shellpromt):
>
> $ python -c "import sys;sys.stdout.write('hello')"
> hello$
>
> Additonally, you might want to check out the Popen-object-reference for the
> wait-call, but actually that shouldn't change anything with regards to
> pressing enter or not.
>
ok It seems to be solved now,
In creating a small example to emphasize the problem,
I found the difference between Win and Linux:
In windows "shell=True" and in Linux "shell=False"
PID = subprocess.Popen( arguments,
cwd = cwd ,
stdout = subprocess.PIPE,
stderr = subprocess.PIPE,
shell = ( os.name == 'nt') )
so the above statement seems (at least for the moment) solve all the
problems.
thank you all,
Stef
More information about the Python-list
mailing list