Fwd: Issue with continous incrementing of unbroken sequence for aentire working day

M

Morten Engvoldsen

Hi,
Okey i have wrote the below program as you suggested:

import time
from datetime import date

def salesrecord():
serial_number = 0
sales_recrod = {'record1':'product1',
'record2':'product2','record3':'product3'}
for i in sales_recrod:
print sales_recrod
serial_number += 1
print serial_number
fo = open("workfile.txt", "wb")
fo.write(str(serial_number))
fo.close()
with open("workfile.txt", 'r') as f:
serial_number = f.read()
today = date.today()



salesrecord()


Here i am bit confuse with where i should write the read file function to
read the current serial number and date. also when i overwrite the file
with current serial number, it will overwrite the date also with current
date, in that case how will i compare the date. Can you please show me in
my example how can i achive this..


---------- Forwarded message ----------
From: Matt Jones <[email protected]>
To: "(e-mail address removed)" <[email protected]>
Cc:
Date: Thu, 28 Feb 2013 13:11:38 -0600
Subject: Re: Issue with continous incrementing of unbroken sequence for a
entire working day
Store the day as well as the serial_number in your file. If the day is the
same as today's day, use the serial_number, if not, use 1. At the end of
you program write the current day and serial_number.

*Matt Jones*


Hi,
thanks for youe suggestion. I think i will go for your second option:

# Runs this loop until killed
while True
<do some stuff: clean serial_number, if day changed, calculate salesrecord
etc.>

serial_number = salesrecord(serial_number)


But, if i save the serial_ number value in file, then how will it decide
to reset the serial number to '1' when the batch runs on next working day.
What condition can be good, so that next day when the batch runs, it will
know it has to reset the value 1. Also my batch will not automatcilly run
whole day, this is user's decision how many times he wants to run the batch
in a day. Can you elebrate more how can i do that ...

---------- Forwarded message ----------
From: Morten Engvoldsen <[email protected]>
Date: Thu, Feb 28, 2013 at 5:31 PM
Subject: Issue with continous incrementing of unbroken sequence for a
entire working day
To: (e-mail address removed)


Hi team,
I need to run a batch of sales records and the batch has serial_number
filed to store the serial number of the sales record. The serial number
should be set to 1 everyday when the batch runs first time in a day and
the maximum serial number could be 1000.

So when the batch runs first time in a day and if it has 10 records, so the
last serial number will be 10. And when the batch runs 2nd time in same
day, the serial number should start from 11. In this way serial_number
will increment as an unbroken series throughout the entire working day. The
next day when the batch runs first time the serial number will reset to 1.

Now this could be sample code how the program can count the sequence for a
batch:

def salesrecord():
serial_number = 1
for i in selesrecord:
print first_sales_record
serial_number += 1
print serial_number

salesrecord()

So if the batch has 10 records and last serial number of first batch is 10,
then when the batch runs second time in the same day, how the
'serial_number' will get the value of 10 and then continue the serial
number for the same day, then for next day again the serial number will
start from 1.

Can you let me know how can i achive this in python? As i am in learning
phase of python, can you let me know what would be good approach to do this
in python.
 
R

Rick Johnson

[...]

def salesrecord():
    serial_number = 0
    sales_recrod = {'record1':'product1',
'record2':'product2',
'record3':'product3',
}

    for i in sales_recrod:
        print sales_recrod
        serial_number += 1
    print serial_number
    fo = open("workfile.txt", "wb")
    fo.write(str(serial_number))
    fo.close()

    with open("workfile.txt", 'r') as f:
        serial_number = f.read()
    today = date.today()



I would highly suggest breaking this code into a few specific functions:

def main()
def readDataFile()
def writeDataFile()
def computeDates()
def processSalesRecord()

and then run main from this:

if __name__ == '__main__':
main()

PS: Please trim superfluous quotes.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,007
Latest member
obedient dusk

Latest Threads

Top