The following program does not work if you uncomment #lis = ["xmms2"] + list(args)
Evidently Python is opting for the nullary constructor list() as opposed to the other one which takes a sequence. But no newcomer would know this. And the Python docs dont give a good example of dealing with taking a sequence of args and converting it to a list. I must've spent 40 minutes looking through my ora books, googling and irc'ing in vane on this. import subprocess def xmms2(*args): #lis = ["xmms2"] + list(args) lis = ["xmms2"] + [a for a in args] output = subprocess.Popen(lis, stdout=subprocess.PIPE).communicate()[0] return output.splitlines() def list(): lis = xmms2('list') playtime_str = lis.pop() (total, playtime, time_str) = playtime_str.split() (h,m,s) = time_str.split(':') lis.pop() return dict( playlist = lis, playtime = (int(h), int(m), int(s)) ) if __name__ == '__main__': list() -- http://mail.python.org/mailman/listinfo/python-list