M
mcse jung
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=Ahu06i62sR8HDtDypao8Wcj9tAcJ
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=Ahu06i62sR8HDtDypao8Wcj9tAcJ