472,378 Members | 1,184 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,378 software developers and data experts.

Launching scripts in Ubuntu ?

hello,

I'm not familiar with Linux / Ubuntu,
still trying to get my application working under these operating systems.

I've a script "file_support.py",
now when I'm in Ubuntu, open a command window and go to the directory
where that file is,
I can launch the script with :
"python file_support.py"
and it works great

Now when I want to run the script from another script, let's call it "
test.py"
where this is the contents of test.py:

import subprocess
subprocess.Popen ( [ 'python', 'file_support.py', ] )

The script "file_support" is executed correctly,
but the python interpreter is not closed,
I've to close it manual by pressing ENTER.

What should I change ?

thanks,
Stef Mientki
Oct 14 '08 #1
5 1700
Stef Mientki wrote:
hello,

I'm not familiar with Linux / Ubuntu,
still trying to get my application working under these operating systems.

I've a script "file_support.py",
now when I'm in Ubuntu, open a command window and go to the directory
where that file is,
I can launch the script with :
"python file_support.py"
and it works great

Now when I want to run the script from another script, let's call it "
test.py"
where this is the contents of test.py:

import subprocess
subprocess.Popen ( [ 'python', 'file_support.py', ] )

The script "file_support" is executed correctly,
but the python interpreter is not closed,
I've to close it manual by pressing ENTER.
What do you mean "it's not closed"? Which window is taking the enter, and
how do you run test.py?

Diez
Oct 14 '08 #2
Diez B. Roggisch wrote:
Stef Mientki wrote:

>hello,

I'm not familiar with Linux / Ubuntu,
still trying to get my application working under these operating systems.

I've a script "file_support.py",
now when I'm in Ubuntu, open a command window and go to the directory
where that file is,
I can launch the script with :
"python file_support.py"
and it works great

Now when I want to run the script from another script, let's call it "
test.py"
where this is the contents of test.py:

import subprocess
subprocess.Popen ( [ 'python', 'file_support.py', ] )

The script "file_support" is executed correctly,
but the python interpreter is not closed,
I've to close it manual by pressing ENTER.

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.

thanks,
Stef


Which window is taking the enter, and
how do you run test.py?

Diez
--
http://mail.python.org/mailman/listinfo/python-list
Oct 14 '08 #3
>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. 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"?

And if *not*, does typing e.g. "ls <return>" work for you, right after the
test.py is run? 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.

Diez
Oct 14 '08 #4
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@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

Oct 14 '08 #5
En Tue, 14 Oct 2008 10:46:34 -0300, Stef Mientki <st**********@gmail.com>
escribió:
>>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.
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.
I'd say there is no problem. It just *appears* to be one. The first
program finishes, and the shell displays its prompt, while the child is
still outputting things. I bet you can see the stef@stef-desktop...$
somewhere in the output.

It's like executing:
$ ls&
the shell prompt is shown as soon as the ls (background) process starts,
but gets lost in the output.
Diez B. Roggisch wrote:
>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.
Calling wait in the parent script would prevent it to finish before the
child, avoiding the issue.

--
Gabriel Genellina

Oct 14 '08 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
by: Martin Maney | last post by:
Apologies if this isn't news here - I've been too busy this last week or so for even skimming the traffic here, in part because I've been messing around with Ubuntu's preview release on a spare...
6
by: Ernesto | last post by:
Does anyone know how to start Python program(s) from a Linux shell script? Is it just $python myscript.py ?? Thanks,
2
by: SPE - Stani's Python Editor | last post by:
Hi, I'm playing around with the latest (soon to be released) SPE on Ubuntu. This probably will increase the quality of SPE on Ubuntu and Linux/GTK in general. I already made some patches, but I...
2
by: Byte | last post by:
Decided to try the eric3 IDE, but I cant figure out how to start it! When I extract the file, all I can see is a ton of files and Python scripts. What script will run the program? Where is it?...
2
by: Pradnyesh Sawant | last post by:
Hello, I have a newly installed ubuntu 6.06 system. I am trying to install pyqt4 on it, but without success. The contents of the /etc/apt/sources.list file are:...
8
by: =?iso-8859-1?B?QW5kcuk=?= | last post by:
I would like to find out how I can launch an independent Python program from existing one in a cross-platform way. The result I am after is that a new terminal window should open (for io...
0
by: ratcateme | last post by:
I am using apache 2.2.4 and perl 5.8.8 on Ubuntu 7.10 I am creating a website mainly in PHP but i have a few perl scripts i want to run. I am running a simple script but get this error a Internal...
5
jimpy
by: jimpy | last post by:
Greetings, Using Ubuntu 7.10 and Python 2.5.1 (r251:54863, Mar 7 2008, 04:10:12) on linux2 I am presently going through the "A Byte Of Python" tutorial. When I copy the little .py scripts...
11
by: Ix | last post by:
It seems not remember how to compile with gcc a C program in linux (ubuntu) how i have to compile this programme? It seems gcc doesn't find stdio.h.. why is all antiintuitive? Thank you and...
2
by: Kemmylinns12 | last post by:
Blockchain technology has emerged as a transformative force in the business world, offering unprecedented opportunities for innovation and efficiency. While initially associated with cryptocurrencies...
0
by: Naresh1 | last post by:
What is WebLogic Admin Training? WebLogic Admin Training is a specialized program designed to equip individuals with the skills and knowledge required to effectively administer and manage Oracle...
0
by: antdb | last post by:
Ⅰ. Advantage of AntDB: hyper-convergence + streaming processing engine In the overall architecture, a new "hyper-convergence" concept was proposed, which integrated multiple engines and...
0
hi
by: WisdomUfot | last post by:
It's an interesting question you've got about how Gmail hides the HTTP referrer when a link in an email is clicked. While I don't have the specific technical details, Gmail likely implements measures...
0
by: Rahul1995seven | last post by:
Introduction: In the realm of programming languages, Python has emerged as a powerhouse. With its simplicity, versatility, and robustness, Python has gained popularity among beginners and experts...
2
by: Ricardo de Mila | last post by:
Dear people, good afternoon... I have a form in msAccess with lots of controls and a specific routine must be triggered if the mouse_down event happens in any control. Than I need to discover what...
1
by: Johno34 | last post by:
I have this click event on my form. It speaks to a Datasheet Subform Private Sub Command260_Click() Dim r As DAO.Recordset Set r = Form_frmABCD.Form.RecordsetClone r.MoveFirst Do If...
0
by: jack2019x | last post by:
hello, Is there code or static lib for hook swapchain present? I wanna hook dxgi swapchain present for dx11 and dx9.
0
by: F22F35 | last post by:
I am a newbie to Access (most programming for that matter). I need help in creating an Access database that keeps the history of each user in a database. For example, a user might have lesson 1 sent...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.