Joe wrote:
Hi Steve,

I've been using Python for many years, just hadn't had to deal with an escape sequence in the command line args. :-) and couldn't find the solution in the docs.

It is easy to prove my assertion:

import sys
c = sys.argv[1]
print len(c)
print 'Line 1', c, 'Line 2'

Output:
2
Line 1 \n Line 2

The "2" appears to prove *my* assertion that the argument passed by the shell to your Python program consists of 2 characters, "\\" followed by "n".

Versus:

import sys
c = sys.argv[1]
print len(c)
print 'Line 1', c.decode('string_escape'), 'Line 2'

Output:
2
Line 1
Line 2

As does this.

Agreed, it is much easier on Unix to deal with this, I have not seen a way to get the XP command interpreter to allow a multiline command line as you described.

Your solution was exactly what I need. I had an escape sequence entered on the command line and needed to decode the string so that Python used it as an escape sequence, in fact the sequence really is part of the output that the program produces.

In fairness it was Steven Bethard's solution that gave you the solution you needed. As long as ytour problem is solved, that's fine, and it appears that you've solved it in a reasonably cross-platform way.

Thanks again for your assistance.

Always happy to help when I can!

regards
 Steve
--
Meet the Python developers and your c.l.py favorites March 23-25
Come to PyCon DC 2005                      http://www.pycon.org/
Steve Holden                           http://www.holdenweb.com/
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to