Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Python (http://www.velocityreviews.com/forums/f43-python.html)
-   -   Passing arguments to a command line from a python script (http://www.velocityreviews.com/forums/t485547-passing-arguments-to-a-command-line-from-a-python-script.html)

=?iso-8859-1?q?Luis_M._Gonz=E1lez?= 03-19-2007 11:46 PM

Passing arguments to a command line from a python script
 
Please forgive me if what I'm asking is non sense...

I created a little program to authomate the creation of the "setup.py"
script for py2exe.
It simply prompts for the main executable script name and then creates
setup.py, as follows:

# this is "makesetup.py"

nombre = raw_input('File name?: ')

f = open('setup.py', 'w')

f.write('''
from distutils.core import setup
import py2exe

setup( name = "%s",
windows = ["%s.pyw"],
data_files = [ (".", ["%s.rsrc.py"]) ]
)
''' %(nombre, nombre, nombre))

f.close()

# end of script

What I want now is execute the script I just created.
As far as I know, the only way to execute the script is from a command
line and typing "setup.py py2exe".

Can I do this authomatically right from my program?
If so, how?

Any hint would be highly appreciated...
regards,
Luis


Gabriel Genellina 03-20-2007 12:25 AM

Re: Passing arguments to a command line from a python script
 
En Mon, 19 Mar 2007 20:46:56 -0300, Luis M. González <luismgz@gmail.com>
escribió:

> What I want now is execute the script I just created.
> As far as I know, the only way to execute the script is from a command
> line and typing "setup.py py2exe".


A few ways:
- os.system("commandline"). Simplest way, but you don't have much control,
and it blocks until the process finishes.
- os.popen[234]? or the functions in the popen2 module
- the subprocess module - the most complete way, but simple enough for
most cases.

--
Gabriel Genellina


=?iso-8859-1?q?Luis_M._Gonz=E1lez?= 03-20-2007 01:42 AM

Re: Passing arguments to a command line from a python script
 
On Mar 19, 9:25 pm, "Gabriel Genellina" <gagsl-...@yahoo.com.ar>
wrote:
> En Mon, 19 Mar 2007 20:46:56 -0300, Luis M. González <luis...@gmail.com>
> escribió:
>
> > What I want now is execute the script I just created.
> > As far as I know, the only way to execute the script is from a command
> > line and typing "setup.py py2exe".

>
> A few ways:
> - os.system("commandline"). Simplest way, but you don't have much control,
> and it blocks until the process finishes.
> - os.popen[234]? or the functions in the popen2 module
> - the subprocess module - the most complete way, but simple enough for
> most cases.
>
> --
> Gabriel Genellina




I'm sorry, but still I can't figure out this...
Would you please show me a sample usage of os.system or os.popen for
passing arguments to the command line?
In this case, I should pass to the command line "setuppy py2exe".

Thanks!
Luis



zacherates 03-20-2007 01:49 AM

Re: Passing arguments to a command line from a python script
 
On Mar 19, 9:42 pm, "Luis M. González" <luis...@gmail.com> wrote:
> On Mar 19, 9:25 pm, "Gabriel Genellina" <gagsl-...@yahoo.com.ar>
> wrote:
>
>
>
> > En Mon, 19 Mar 2007 20:46:56 -0300, Luis M. González <luis...@gmail.com>
> > escribió:

>
> > > What I want now is execute the script I just created.
> > > As far as I know, the only way to execute the script is from a command
> > > line and typing "setup.py py2exe".

>
> > A few ways:
> > - os.system("commandline"). Simplest way, but you don't have much control,
> > and it blocks until the process finishes.
> > - os.popen[234]? or the functions in the popen2 module
> > - the subprocess module - the most complete way, but simple enough for
> > most cases.

>
> > --
> > Gabriel Genellina

>
> I'm sorry, but still I can't figure out this...
> Would you please show me a sample usage of os.system or os.popen for
> passing arguments to the command line?
> In this case, I should pass to the command line "setuppy py2exe".
>
> Thanks!
> Luis


aaron@athena:~$ python
Python 2.4.4c1 (#2, Oct 11 2006, 21:51:02)
[GCC 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> rt = os.system("ls")

apps Firefox_wallpaper.png s2 tux_sshot_0.ppm
xorg.conf.diff
Desktop media s3 work
downloads permutation.py squeak workspace
Examples permutation.pyc trackers xorg.conf.aiglx
>>> rt

0
>>>


This implies that `os.system("setuppy py2exe")` should do what you
want.


=?iso-8859-1?q?Luis_M._Gonz=E1lez?= 03-20-2007 01:53 AM

Re: Passing arguments to a command line from a python script
 
On Mar 19, 10:49 pm, "zacherates" <zachera...@gmail.com> wrote:
> On Mar 19, 9:42 pm, "Luis M. González" <luis...@gmail.com> wrote:
>
>
>
> > On Mar 19, 9:25 pm, "Gabriel Genellina" <gagsl-...@yahoo.com.ar>
> > wrote:

>
> > > En Mon, 19 Mar 2007 20:46:56 -0300, Luis M. González <luis...@gmail..com>
> > > escribió:

>
> > > > What I want now is execute the script I just created.
> > > > As far as I know, the only way to execute the script is from a command
> > > > line and typing "setup.py py2exe".

>
> > > A few ways:
> > > - os.system("commandline"). Simplest way, but you don't have much control,
> > > and it blocks until the process finishes.
> > > - os.popen[234]? or the functions in the popen2 module
> > > - the subprocess module - the most complete way, but simple enough for
> > > most cases.

>
> > > --
> > > Gabriel Genellina

>
> > I'm sorry, but still I can't figure out this...
> > Would you please show me a sample usage of os.system or os.popen for
> > passing arguments to the command line?
> > In this case, I should pass to the command line "setuppy py2exe".

>
> > Thanks!
> > Luis

>
> aaron@athena:~$ python
> Python 2.4.4c1 (#2, Oct 11 2006, 21:51:02)
> [GCC 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)] on linux2
> Type "help", "copyright", "credits" or "license" for more information.>>> import os
> >>> rt = os.system("ls")

>
> apps Firefox_wallpaper.png s2 tux_sshot_0.ppm
> xorg.conf.diff
> Desktop media s3 work
> downloads permutation.py squeak workspace
> Examples permutation.pyc trackers xorg.conf.aiglx
>
> >>> rt

> 0
>
> This implies that `os.system("setuppy py2exe")` should do what you
> want.




It works!
Thank you, this is just what I wanted.

Luis


Steven Bethard 03-20-2007 02:52 AM

Re: Passing arguments to a command line from a python script
 
Luis M. González wrote:
> On Mar 19, 10:49 pm, "zacherates" <zachera...@gmail.com> wrote:
>> This implies that `os.system("setuppy py2exe")` should do what you
>> want.

>
> It works!
> Thank you, this is just what I wanted.


You'll get better error checking if instead you do::

>>> import subprocess
>>> subprocess.call(['setup.py', 'py2exe'])


Actually, you probably should really be doing::

>>> subprocess.call(['python', 'setup.py', 'py2exe'])


so that you don't have to assume the OS knows how to run a .py file.

STeVe

=?iso-8859-1?q?Luis_M._Gonz=E1lez?= 03-20-2007 03:18 AM

Re: Passing arguments to a command line from a python script
 
On Mar 19, 11:52 pm, Steven Bethard <steven.beth...@gmail.com> wrote:
> Luis M. González wrote:
> > On Mar 19, 10:49 pm, "zacherates" <zachera...@gmail.com> wrote:
> >> This implies that `os.system("setuppy py2exe")` should do what you
> >> want.

>
> > It works!
> > Thank you, this is just what I wanted.

>
> You'll get better error checking if instead you do::
>
> >>> import subprocess
> >>> subprocess.call(['setup.py', 'py2exe'])

>
> Actually, you probably should really be doing::
>
> >>> subprocess.call(['python', 'setup.py', 'py2exe'])

>
> so that you don't have to assume the OS knows how to run a .py file.
>
> STeVe


Noted.
Thanks STeVe!






All times are GMT. The time now is 12:54 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.