On 2010-12-27, flebber <flebber.c...@gmail.com> wrote: > Is there anyay to use input masks in python? Similar to the function > found in access where a users input is limited to a type, length and > format. > > So in my case I want to ensure that numbers are saved in a basic > format. > 1) Currency so input limited to 000.00 eg 1.00, 2.50, 13.80 etc
Some GUIs provide this functionality or provide callbacks for validation functions that can determine the validity of the input. I don't know of any modules that provide "formatted input" in a terminal. Most terminal input functions just read from stdin (in this case a buffered line) and output that as a string. It is easy enough to validate whether terminal input is in the proper. Your example time code might look like: ... import re ... import sys ... ... # get the input ... print("Please enter time in the format 'MM:SS:HH': ", end="") ... timeInput = input() ... ... # validate the input is in the correct format (usually this would be in ... # loop that continues until the user enters acceptable data) ... if re.match(r'''^[0-9]{2}:[0-9]{2}:[0-9]{2}$''', timeInput) == None: ... print("I'm sorry, your input is improperly formated.") ... sys.exit(1) ... ... # break the input into its componets ... componets = timeInput.split(":") ... minutes = int(componets[0]) ... seconds = int(componets[1]) ... microseconds = int(componets[2]) ... ... # output the time ... print("Your time is: " + "%02d" % minutes + ":" + "%02d" % seconds + ":" + ... "%02d" % microseconds) Currency works the same way using validating it against: r'''[0-9]+\.[0-9]{2}''' > For sports times that is time duration not a system or date times > should I assume that I would need to calculate a user input to a > decimal number and then recalculate it to present it to user? I am not sure what you are trying to do or asking. Python provides time, date, datetime, and timedelta objects that can be used for date/time calculations, locale based formatting, etc. What you use, if any, will depend on what you are actually tring to accomplish. Your example doesn't really show you doing much with the time so it is difficult giving you any concrete recommendations. -- http://mail.python.org/mailman/listinfo/python-list