How to enter escape character in a positional string argument from the command line?

Jach Feng jfong at ms4.hinet.net
Tue Dec 20 22:19:05 EST 2022


ery... at gmail.com 在 2022年12月20日 星期二中午12:35:52 [UTC+8] 的信中寫道:
> On 12/19/22, Jach Feng <jf... at ms4.hinet.net> wrote: 
> > 
> > That's really good for Linux user! How about Windows?
> In CMD, typing the "^" escape character at the end of a line ignores 
> the newline and prompts for "more" input. If you press enter again, 
> you'll get another "more" prompt in which you can write the rest of 
> the command line. Command-line arguments are separated by spaces, so 
> you have to start the next line with a space if you want it to be a 
> new argument. Also, "^" is a literal character when it's in a 
> double-quoted string, which requires careful use of quotes. For 
> example: 
> 
> C:\>py -c "import sys; print(sys.orig_argv[3:])" spam^ 
> More? 
> More? eggs^ 
> More? 
> More? " and spam" 
> ['spam\n', 'eggs\n and spam'] 
> 
> The above is easier in PowerShell, which supports entering multiline 
> strings without having to escape the newline. The second-level prompt 
> is ">> ". For example: 
> 
> > py -c "import sys; print(sys.orig_argv[3:])" spam" 
> >> " eggs" 
> >> and spam" 
> ['spam\n', 'eggs\n and spam']
Thanks for the information. No idea Windows CMD can take such a trick to enter "\n" :-)


More information about the Python-list mailing list