Run Unix shell command $ parse command line arguments in python

Discussion in 'Python' started by rkoida@yahoo.com, Apr 22, 2005.

  1. Guest

    Hello evryone

    I am a newbie to python. I have a makefile which i can compile in
    UNIX/LINUX, But i
    I am planning to write a python script which actually does what my
    MAKEFILE does. The make file is

    #Makefile and some scripts to give output
    #numbers
    #Change till sign #END
    var1:=564-574
    a1 = 23
    b1 = 678
    kxm = ixm_7.gh
    out = c$(var1)_s.gh
    imageim
    #END
    #other files
    file1 = sec$(b1).jk
    file2 = sgf$(a1)
    file3 = p$(b1).gh
    prg3scriptfile = prg3_produce.xx
    findoutdir = Dir:~/home/
    x=67
    #work
    evrything: prg1 script2 prg3 script4
    withoutprg1: script2 prg3 script4
    prg1:
    s$(ca)$(d) .

    script2: Makefile
    ./script2 -i '$(file2)' -o '$(file1)' -a $(x) -n

    prg3:
    : > $(prg3scriptfile)
    >> $(prg3scriptfile)

    prg3 $(prg3scriptfile)
    rm $(prg3scriptfile)
    script4:
    ./script4 $(kxm) $(file2) $(out) $(var1)

    I want to write a python script to replace this Makefile.
    I Have tried using getopt/optparse for parsing command line options
    How to Run Unix shell command from python.

    My Task is

    Myprg.py a1 b1 kxm out

    Kindly suggest me some ideas/comments.

    Thanks
    koid wayne
    , Apr 22, 2005
    #1
    1. Advertising

  2. Simon Brunning, Apr 22, 2005
    #2
    1. Advertising

  3. hue Guest

    Thanks for your reply

    I started writing the script.. I have gone through documentation for
    getopt

    import string, getopt, sys

    def usage():

    print '''myscript.py -- uses getopt to recognize options
    Options: -n -- No
    -t -- T
    -h -- help
    -i -- i
    -o -- Output:filename'''
    sys.exit(1)
    def main():

    print "SYS ARGV: ", ",".join(sys.argv)

    # Define the Options

    Options = {
    'n:': 'Number=',
    't:': 'T',
    'h' : 'help',
    'i' : 'i',
    'o' : 'Output_file',
    }
    shortOpts = ''.join(Options.keys())
    longOpts = Options.values()


    try:
    (opts, args) = getopt.getopt(argv[1:], shortOpts, longOpts)
    except getopt.error, msg:
    print "Unrecognized argument or option"
    # end try


    for (opt, arg) in opts:

    if opt in ('-n', '--Number'):
    print '-n is the Number', Number
    sys.exit()

    elif opt in ('-t', '--T'):
    print '-t is the T', T
    sys.exit()

    elif opt in ('-h', '--help'):
    usage()
    print " "
    sys.exit()

    elif opt in ('-i', '--i'):
    print " I", i


    elif opt in ('-o', '--Output Filename'):
    print "Output", Output


    # end if
    # end for

    print "OPTS: ", ",".join([repr(o) for o in opts])
    print "ARGS: ", ",".join(args)

    if __name__ == "__main__":
    main()

    with the above code, I am planning to do command line parsing. But how
    to run unix shell command? DO i have to use os Module/ import command?

    How should i proceed further, to
    import commands
    commands.getstatusoutput('ls /bin/ls')

    Please suggest me some ideas how to proceed further

    Thanks
    hue, Apr 22, 2005
    #3
  4. On 22 Apr 2005 03:16:02 -0700, hue <> wrote:
    > Thanks for your reply
    >
    > I started writing the script.. I have gone through documentation for
    > getopt


    (snip)

    Good start. I tend to prefer optparse over getopt these days, but if
    you've got it working the way you want it, you should probably stick
    with what you have.

    > with the above code, I am planning to do command line parsing. But how
    > to run unix shell command? DO i have to use os Module/ import command?
    >
    > How should i proceed further, to
    > import commands
    > commands.getstatusoutput('ls /bin/ls')


    You'll certainly need to import *something*. Have you looked at the
    subprocess module?

    --
    Cheers,
    Simon B,
    ,
    http://www.brunningonline.net/simon/blog/
    Simon Brunning, Apr 22, 2005
    #4
  5. On Friday 22 April 2005 01:39 am, wrote:
    > I am a newbie to python. I have a makefile which i can compile in
    > UNIX/LINUX, But i
    > I am planning to write a python script which actually does what my
    > MAKEFILE does. The make file is

    [...]
    > I want to write a python script to replace this Makefile.
    > I Have tried using getopt/optparse for parsing command line options
    > How to Run Unix shell command from python.


    Read the documentation on the "os" and "popen2" modules under
    "generic operating system services" in the Python Standard Library
    Manual (go to http://www.python.org if you haven't already got this
    manual on hand).

    Cheers,
    Terry

    --
    Terry Hancock ( hancock at anansispaceworks.com )
    Anansi Spaceworks http://www.anansispaceworks.com
    Terry Hancock, Apr 23, 2005
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Replies:
    2
    Views:
    5,668
    Jonathan Bromley
    Feb 18, 2005
  2. Replies:
    19
    Views:
    1,106
    Daniel Vallstrom
    Mar 15, 2005
  3. potchi
    Replies:
    0
    Views:
    419
    potchi
    May 18, 2011
  4. Jayson Williams
    Replies:
    28
    Views:
    330
    Mohit Sindhwani
    Nov 30, 2008
  5. Dib Urim
    Replies:
    4
    Views:
    185
    Michele Dondi
    Dec 3, 2003
Loading...

Share This Page