Use case: parsing a simple config file line where lines start with a keyword and have optional arguments. I want to extract the keyword and then pass the rest of the line to a function to process it. An obvious use of split(None,1)
cmd,args= = line.split(None,1); if cmd in self.switch: self.switch[cmd](self,args) else: self.errors.append("unrecognized keyword '{0)'".format(cmd)) Here's a test in IDLE: >>> a="now is the time" >>> x,y=a.split(None,1) >>> x 'now' >>> y 'is the time' However, if the optional argument string is missing: >>> a="now" >>> x,y=a.split(None,1) Traceback (most recent call last): File "<pyshell#42>", line 1, in <module> x,y=a.split(None,1) ValueError: need more than 1 value to unpack I understand the problem is not with split() but with the assignment to a tuple. Is there a way to get the assignment to default the missing values to None? -- http://mail.python.org/mailman/listinfo/python-list