Date using input

Tim Chase python.list at
Thu Sep 24 17:03:43 CEST 2009

> Surely getting it tottally mixed up
> from datetime import date
> def ObtainDate(params):
>   date = raw_input("Type Date dd/mm/year: %2.0r%2.0r/%2.0r%2.0r/%4.0r
> %4.0r%4.0r%4.0r")
>  print date.datetime(year-month-day)

By setting "date = raw_input(...)", you mask the 
object preventing you from using it in the next "print" line.

Additionally, the "-" aren't used to separate 
want commas.  You also haven't split out the year/month/day bits 
to pass to the date.datetime() constructor.  So immediate 
corrections involve:

1) choose a name other than "date" for the value returned from 

2) take that resulting value from step #1 and split it up so you 
have the constituent parts.  This is a wonderful use for tuple 

3) After splitting parts up, you still have strings, so you need 
to convert them to numbers.  (for advanced users, I'd use map() 
to do the conversion in step #2)

4) once you have the year, month, and day values as integers, you 
can pass them to the constructor (instead of the constructor which is a little weird).

>  #Check if txt file with same date exists. If yes apphend to results
> to file.
> date.append(datetime

You'd then want to create a file-name to open, based on the date 
object.  The strftime() method will help you here (see the docs 
on the format string).  Once you have the filename, you'll want 
to open a file with that name, appending to it if it already 
exists (see the docs on the file() object)


More information about the Python-list mailing list