29/05/2014 20:21, ps16thypresenceisfullnessof...@gmail.com wrote:
That's interesting, now I learned something else too. As I said
before, though, I want users to be able to enter paths in the XML
file exactly the way they would be entered in a Windows shortcut.


Since in a Windows shortcut you don't need to put quotes around a
path that doesn't contain spaces, I want to follow that behavior in
my program as well.


So I guess I'll still have to do my "shlex dance" (which for some
reason I keep on mistyping as "shlex dane" :-)) unless I can learn a
better way to do it.

It looks like it. Sometimes the behaviour out of the box just doesn't cut it. Don't forget, also, that you can subclass, eg, the shlex.shlex class and tweak it to do what you need.

Also, is my calling os.path.expandvars only on the first argument a
good idea? I want to accept environment variables in my program, but
I don't want to call os.path.expandvars on all the arguments, because
I want to let other programs take care of parsing their own

I'd say that's a call only you can make given what you know of your requirements. That said, I'm not sure what the "other programs" are going to do with any embedded env vars except to expand them as you're doing.

Ultimately, don't tie yourselves in knots either trying too hard to emulate Windows shortcuts or trying too hard to use shlex.split out of the box. Decide what constitutes a useful combination of features and implement them as simply as you can. [He says, winning the prize for stating the obvious :) ]


Reply via email to