Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Do you know of a much simpler way of writing a program that writes aprogram?

Reply
Thread Tools

Do you know of a much simpler way of writing a program that writes aprogram?

 
 
mcse jung
Guest
Posts: n/a
 
      05-02-2008
Here is asample program that writes a program and then executes it.
Do you knowof a much simpler way of writing a program that writes a program?

"""
-----------------------------------------------------------------------------
Name: _writePythonCode.py
Purpose: This script writes Python code and thentransfers control to it.

Author: MCSEJUNG

Created: 2008/05/01
RCS-ID: $Id: _writePythonCode.py $
Copyright: (c) 2008
Licence: GPL
This program is free software; you canredistribute it and/or modify
it under the terms of the GNU General PublicLicense as published by
the Free Software Foundation; either version2 of the License
(at your option) any later version.

This program is distributed in the hope thatit will be useful,
but WITHOUT ANY WARRANTY; without even theimplied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULARPURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNUGeneral Public License
along with this program; if not, write tothe Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Maintenance:MCSEJUNG 2008/05/01 This script writes Python code and then transfers controlto it.
-----------------------------------------------------------------------------
"""
__version__= "$Revision: 80101 $"
# $Source$

# Rememberto document each paragraph with a purposeful short description

#if__name__ == "__main__":

#Print thestart time of this process
import time
start =time.localtime(time.time())
year,month, day, hour, minute, second, weekday, yearday, daylight = start
print"Process Started", "%02d:%02d:%02d" % (hour, minute,second)

header1 ="""
-----------------------------------------------------------------------------
Name: _generatedPython.py
Purpose: This script was built by_writePythonCode.py

Author: MCSEJUNG

Created: 2008/05/01
RCS-ID: $Id: _generatedPython.py $
Copyright: (c) 2008
Licence: GPL
This program is free software; you canredistribute it and/or modify
it under the terms of the GNU General PublicLicense as published by
the Free Software Foundation; either version2 of the License
(at your option) any later version.

This program is distributed in the hope thatit will be useful,
but WITHOUT ANY WARRANTY; without even theimplied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULARPURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNUGeneral Public License
along with this program; if not, write tothe Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Maintenance:MCSEJUNG 2008/05/01 This script was built by _writePythonCode.py
-----------------------------------------------------------------------------
"""

header2 ="""
# $Source$

# Rememberto document each paragraph with a purposeful short description

#if__name__ == "__main__":

#Print thestart time of this process
"""

filePathName= 'C:\\Python25\\Lib\\_myStuff'
fileInName= '_generatedPython.py'
filegTName= filePathName + '\\' +fileInName
gT =open(filegTName, 'w')

gT.write('"""'+ header1 + '"""' + '\n')
gT.write('__version__= "$Revision: 80101 $"'+ '\n')
gT.write('"""'+ header2 + '"""' + '\n')
gT.write('importtime'+'\n')
gT.write('start= time.localtime(time.time())'+'\n')
gT.write('year,month, day, hour, minute, second, weekday, yearday, daylight = start'+'\n')
gT.write('print"Generated Process Started", "%02d:%02d:%02d" % (hour,minute, second)'+'\n')
#-----------
gT.write('print"start"'+'\n')
gT.write('fori in [0,4,8,12,16,12,8,12,8,12,16,12,8,4,8,12,16,12,8,4, 0]:'+'\n')
gT.write(' print "-"*i'+'\n')
gT.write('print"end"'+'\n')
#-----------
gT.write('#Calculatethe processes duration; format and print the start time, stop time, andduration'+'\n')
gT.write('stop= time.localtime(time.time())'+'\n')
gT.write('syear,smonth, sday, shour, sminute, ssecond, sweekday, syearday, sdaylight =stop'+'\n')
gT.write(''+'\n')
gT.write('thour = shour'+'\n')
gT.write('tminute = sminute'+'\n')
gT.write('tsecond= ssecond'+'\n')
gT.write(''+'\n')
gT.write('iftsecond < second:'+'\n')
gT.write(' tminute = tminute - 1'+'\n')
gT.write(' dursecond = 60 + tsecond - second'+'\n')
gT.write('else:'+'\n')
gT.write(' dursecond = tsecond - second'+'\n')
gT.write(''+'\n')
gT.write('iftminute < minute:'+'\n')
gT.write(' thour = thour - 1'+'\n')
gT.write('
durminute = 60 + tminute - minute'+'\n')
gT.write('else:'+'\n')
gT.write('
durminute = tminute - minute'+'\n')
gT.write(''+'\n')
gT.write('ifthour < hour:'+'\n')
gT.write(' xday = 1'+'\n')
gT.write(' durhour = hour - thour'+'\n')
gT.write('else:'+'\n')
gT.write(' xday = 0'+'\n')
gT.write(' durhour = thour - hour'+'\n')
gT.write(''+'\n')
gT.write('ifxday == 0:'+'\n')
gT.write(' print "Generated Process Completed--", "start:", "%02d:%02d:%02d" % (hour, minute,second), "stop:", "%02d:%02d:%02d" % (shour, sminute,ssecond), "duration:", "%02d:%02d:%02d" % (durhour,durminute, dursecond);'+'\n')
gT.write('else:'+'\n')
gT.write(' print "Generated Process Completed--", "start:", "%02d:%02d:%02d" % (hour, minute,second), "stop:", "%02d:%02d:%02d" % (shour, sminute,ssecond), "duration:", "%02d:%02d:%02d" % (durhour,durminute, dursecond), "and one day";'+'\n')

gT.flush()
gT.close()

execfile("_generatedPython.py")

#Calculatethe processes duration; format and print the start time, stop time, andduration
stop =time.localtime(time.time())
syear,smonth, sday, shour, sminute, ssecond, sweekday, syearday, sdaylight = stop

thour = shour
tminute =sminute
tsecond =ssecond

if tsecond< second:
tminute = tminute - 1
dursecond = 60 + tsecond - second
else:
dursecond = tsecond - second

if tminute< minute:
thour = thour - 1
durminute = 60 + tminute - minute
else:
durminute =tminute - minute

if thour< hour:
xday = 1
durhour = hour - thour
else:
xday = 0
durhour = thour - hour

if xday ==0:
print "Process Completed --",'start:', "%02d:%02d:%02d" % (hour, minute, second), 'stop:',"%02d:%02d:%02d" % (shour, sminute, ssecond), 'duration:',"%02d:%02d:%02d" % (durhour, durminute, dursecond);
else:
print "Process Completed --",'start:', "%02d:%02d:%02d" % (hour, minute, second), 'stop:',"%02d:%02d:%02d" % (shour, sminute, ssecond), 'duration:',"%02d:%02d:%02d" % (durhour, durminute, dursecond), 'and one day';




__________________________________________________ __________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i...Dypao8Wcj9tAcJ
 
Reply With Quote
 
 
 
 
Nicola Musatti
Guest
Posts: n/a
 
      05-02-2008
On May 2, 3:50 pm, mcse jung <(E-Mail Removed)> wrote:
> Here is asample program that writes a program and then executes it.
> Do you knowof a much simpler way of writing a program that writes a program?


Use a templating engine, such as Cheetah: http://www.cheetahtemplate.org/

Cheers,
Nicola Musatti
 
Reply With Quote
 
 
 
 
Stefan Behnel
Guest
Posts: n/a
 
      05-02-2008
mcse jung wrote:
> Here is asample program that writes a program and then executes it.
> Do you knowof a much simpler way of writing a program that writes a program?


I'm not quite sure what you are trying to achieve here, but I bet there is a
simpler way to do it than by generating a script. You might want to look into
functions.

http://docs.python.org/tut/node6.htm...00000000000000

Stefan
 
Reply With Quote
 
George Sakkis
Guest
Posts: n/a
 
      05-02-2008
On May 2, 10:40 am, Stefan Behnel <(E-Mail Removed)> wrote:
> mcse jung wrote:
> > Here is asample program that writes a program and then executes it.
> > Do you knowof a much simpler way of writing a program that writes a program?

>
> I'm not quite sure what you are trying to achieve here, but I bet there is a
> simpler way to do it than by generating a script. You might want to look into
> functions.
>
> http://docs.python.org/tut/node6.htm...00000000000000


Seriously, this looks like a DailyWTF entry.

George
 
Reply With Quote
 
Jeff
Guest
Posts: n/a
 
      05-02-2008
Use lisp?
 
Reply With Quote
 
Aahz
Guest
Posts: n/a
 
      05-03-2008
In article <(E-Mail Removed)>,
Jeff <(E-Mail Removed)> wrote:
>
>Use lisp?


))))))
--
Aahz ((E-Mail Removed)) <*> http://www.pythoncraft.com/

Help a hearing-impaired person: http://rule6.info/hearing.html
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
problem in running a basic code in python 3.3.0 that includes HTML file Satabdi Mukherjee Python 1 04-04-2013 07:48 PM
know can I know how much object has been created??? sayoyo@yahoo.com Ruby 2 03-31-2006 08:09 PM
Re: MUCH simpler program displaying same behavior Tom Widmer C++ 11 11-24-2004 04:17 PM
Re: MUCH simpler program displaying same behavior Erik Arner C++ 5 11-23-2004 03:31 PM
Strange behavior with IE when writing a script that writes another script Benoit Fries Javascript 1 11-14-2003 10:10 AM



Advertisments