E
erict1689
I am writing a program in which i open up a file and read the contents
then do some calculations and update the information but in a new
file. So my question is how do i go about declaring the new file so
that the program will know that the new information goes into the new
file and not the original? if it helps here is the code that i have
so far:
def startUp():
# Purpose: opens files and print report headings
global empName, previousYTD, payRate, hoursWorked, recordCount,
eof, payFile, \
payFileUpdated, newYTD, currentPay
payFile=open("payroll.txt", "r")
payFile.readline()
def readRecord():
# Purpose: reads a record
global empName, previousYTD, payRate, hoursWorked, recordCount,
eof, payFile, \
payFileUpdated, newYTD, currentPay
employeeRec = payFile.readline()
if employeeRec == "":
eof = True
else:
# parse file line for record fields and format/convert for
final output
empName = employeeRec[0:25].strip()
previousYTD = float(employeeRec[25:40])
payRate = float(employeeRec[40:55])
hoursWorked = float(employeeRec[55:70])
recordCount += 1
eof = False
def writeRecord():
# Purpose: writes the updated record to the output file
#Parameter
global empName, previousYTD, payRate, hoursWorked, recordCount,
eof, payFile, \
payFileUpdated, newYTD, currentPay
def processRecords():
# Purpose: loops through input file and processes each record
global empName, previousYTD, payRate, hoursWorked, recordCount,
eof, payFile, \
payFileUpdated, newYTD, currentPay
while not eof:
calculatePay()
printReportLine()
writeRecord()
readRecord()
def calculatePay():
# Purpose: calculates pay and updated YTD
# Return values: float - calculated pay, float - updated YTD amount
global empName, previousYTD, payRate, hoursWorked, recordCount,
eof, payFile, \
payFileUpdated, newYTD, currentPay
def printReportLine():
# Purpose: prints employee pay information
# Parameters passed: float - calculated pay, float - updated YTD
amount
global empName, previousYTD, payRate, hoursWorked, recordCount,
eof, payFile, \
payFileUpdated, newYTD, currentPay
def closeUp():
# Purpose: end of program housekeeping
global empName, previousYTD, payRate, hoursWorked, recordCount,
eof, payFile, \
payFileUpdated, newYTD, currentPay
payFile.close()
payFileUpdated.close()
print "\nNumber of records in the file was",recordCount
any and all help is appreciated.
then do some calculations and update the information but in a new
file. So my question is how do i go about declaring the new file so
that the program will know that the new information goes into the new
file and not the original? if it helps here is the code that i have
so far:
def startUp():
# Purpose: opens files and print report headings
global empName, previousYTD, payRate, hoursWorked, recordCount,
eof, payFile, \
payFileUpdated, newYTD, currentPay
payFile=open("payroll.txt", "r")
payFile.readline()
def readRecord():
# Purpose: reads a record
global empName, previousYTD, payRate, hoursWorked, recordCount,
eof, payFile, \
payFileUpdated, newYTD, currentPay
employeeRec = payFile.readline()
if employeeRec == "":
eof = True
else:
# parse file line for record fields and format/convert for
final output
empName = employeeRec[0:25].strip()
previousYTD = float(employeeRec[25:40])
payRate = float(employeeRec[40:55])
hoursWorked = float(employeeRec[55:70])
recordCount += 1
eof = False
def writeRecord():
# Purpose: writes the updated record to the output file
#Parameter
global empName, previousYTD, payRate, hoursWorked, recordCount,
eof, payFile, \
payFileUpdated, newYTD, currentPay
def processRecords():
# Purpose: loops through input file and processes each record
global empName, previousYTD, payRate, hoursWorked, recordCount,
eof, payFile, \
payFileUpdated, newYTD, currentPay
while not eof:
calculatePay()
printReportLine()
writeRecord()
readRecord()
def calculatePay():
# Purpose: calculates pay and updated YTD
# Return values: float - calculated pay, float - updated YTD amount
global empName, previousYTD, payRate, hoursWorked, recordCount,
eof, payFile, \
payFileUpdated, newYTD, currentPay
def printReportLine():
# Purpose: prints employee pay information
# Parameters passed: float - calculated pay, float - updated YTD
amount
global empName, previousYTD, payRate, hoursWorked, recordCount,
eof, payFile, \
payFileUpdated, newYTD, currentPay
def closeUp():
# Purpose: end of program housekeeping
global empName, previousYTD, payRate, hoursWorked, recordCount,
eof, payFile, \
payFileUpdated, newYTD, currentPay
payFile.close()
payFileUpdated.close()
print "\nNumber of records in the file was",recordCount
any and all help is appreciated.