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"
% (ho