трудности с назначением питона - PullRequest
0 голосов
/ 17 октября 2010

Я новичок в программировании и испытываю трудности при написании программы, работающей с файлами. Программа предназначена для чтения файла, расчета зарплаты сотрудникам и обновленной суммы заработной платы с начала года. После расчетов программа запишет в новый файл.

Это то, что я имею до сих пор:

empName = ""
prevYTD = 0.0
payRate = 0.0
hoursWorked = 0.0
recordCount = 0

def startUp():
    global empFile
    print "\n\n" + "PAYROLL REPORT".center(110)+"\n"
    print "Employee Name".ljust(30) + "Previous YTD".ljust(18) + \
          "Updated YTD".ljust(18) + "Pay Rate".ljust(13) + \
          "Hours Worked".ljust(19) + "Current Pay".ljust(8)
    print "-"* 109

    jobInfo = open("payroll_Assignment#7.txt", "r")

def readFile():
    global empName, prevYTD, payRate, hoursWorked, eof
    empRec = jobInfo.readline()
    if empRec == "":
        eof = True
    else:
        empName = empRec[:25]
        prevYTD = float(empRec[25:40])
        payRate = float(empRec[40:55])
        hoursWorked = float(empRec[55:])
        eof = False

def processRecords():
    global recordCount
    while not eof:
        recordCount +=1
        printRecord()
        readFile()


def printRecord():
    print empName, prevYTD, payRate, hoursWorked


def closeUp(): 
    jobInfo.close()
    print "\nNumber of records in the file was",recordCount

startUp()
readFile()
processRecords()
printRecord()
closeUp() 

Моя проблема - создание нового файла. Предполагается, что программа пишет в новый файл, и я не знаю, как это сделать. Извините, что так неуклюже с этим, я очень новичок в этом.

Ответы [ 2 ]

1 голос
/ 17 октября 2010

Не знаю, в чем проблема, но некоторые идиомы могут облегчить вам задачу.

  1. Вы можете избежать тестирования на EOF и цикл while.

Файл является итеративным, поэтому вы можете перебирать его.

for line in open('myfile','r'):
    doSomething(line)

Подробности см. По адресу: http://docs.python.org/tutorial/inputoutput.html

[Редактировать: На основе исправленной проблемы]

Открытие нового файла для записи должно быть легко в python

>>> logfile = open('test.log', 'w') # Opens a new file
>>> logfile = open('test.log', 'a') # Opens a existing file to append information

Посмотрите на различные режимы открытия файла в руководстве по Python

0 голосов
/ 17 октября 2010

Спасибо за ваши ответы. Программа предназначена для чтения файла, расчета зарплаты сотрудника и обновления итоговой суммы с начала года. После расчетов программа должна написать новый файл. Я не могу понять, как сделать вычисления, сделать, написать или сохранить обновленный файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...