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

Discussion in 'Python' started by Morten Engvoldsen, Feb 28, 2013.

  1. 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 ...

    On Thu, Feb 28, 2013 at 6:43 PM, Vytas D. <> wrote:

    > Hi,
    >
    > If you want to have one program running forever and printing
    > sales_records, you would do (one of the possibilities) something like this:
    > def salesrecord(serial_number):
    >
    > for i in salesrecord:
    >
    > print first_sales_record
    > serial_number += 1
    > print serial_number
    > return serial_number
    >
    > if __name__ == '__main__':
    > serial_number = 1
    >
    > # Runs this loop until killed
    > while True
    > <do some stuff: clean serial_number, if day changed, calculate
    > salesrecord etc.>
    >
    > serial_number = salesrecord(serial_number)
    >
    > If you want to run your script so it finishes and then saves last value of
    > serial_number, so you can pass it to your script when it runs next time,
    > you should save the value to some file and read that file on every start of
    > your program.
    >
    > Vytas
    >
    >
    > On Thu, Feb 28, 2013 at 4:31 PM, Morten Engvoldsen <>wrote:
    >
    >> 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.
    >>
    >> --
    >> http://mail.python.org/mailman/listinfo/python-list
    >>
    >>

    >
     
    Morten Engvoldsen, Feb 28, 2013
    #1
    1. Advertising

  2. Morten Engvoldsen

    John Gordon Guest

    Re: Issue with continous incrementing of unbroken sequence for a entire working day

    In <> Morten Engvoldsen <> writes:

    > 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.


    Name the file so that it contains the date, i.e. "serial_numbers.2013-02-28".

    If the file exists, you know that the program has already run today and
    you can read the file to obtain the previous serial number.

    If the file does not exist, you know the program has not yet run today
    and you can start the serial number at 1.

    --
    John Gordon A is for Amy, who fell down the stairs
    B is for Basil, assaulted by bears
    -- Edward Gorey, "The Gashlycrumb Tinies"
     
    John Gordon, Feb 28, 2013
    #2
    1. Advertising

  3. On Fri, Mar 1, 2013 at 6:23 AM, John Gordon <> wrote:
    > In <> Morten Engvoldsen <> writes:
    >
    >> 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.

    >
    > Name the file so that it contains the date, i.e. "serial_numbers.2013-02-28".
    >
    > If the file exists, you know that the program has already run today and
    > you can read the file to obtain the previous serial number.
    >
    > If the file does not exist, you know the program has not yet run today
    > and you can start the serial number at 1.


    Probably overkill; simpler to have just one file and record the date.
    Just be careful of definitions - do you use the current date UTC or
    the current date local time? And be aware of what might happen if the
    local clock is changed.

    ChrisA
     
    Chris Angelico, Feb 28, 2013
    #3
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Vytas D.
    Replies:
    0
    Views:
    123
    Vytas D.
    Feb 28, 2013
  2. Matt Jones
    Replies:
    0
    Views:
    133
    Matt Jones
    Feb 28, 2013
  3. Morten Engvoldsen
    Replies:
    1
    Views:
    114
    Rick Johnson
    Feb 28, 2013
  4. Morten Engvoldsen
    Replies:
    0
    Views:
    145
    Morten Engvoldsen
    Feb 28, 2013
  5. Chris Angelico
    Replies:
    0
    Views:
    103
    Chris Angelico
    Feb 28, 2013
Loading...

Share This Page