Passing a multi-line string as an argument to a script in Windows

Posted by Zack Mulgrew on Stack Overflow See other posts from Stack Overflow or by Zack Mulgrew
Published on 2009-04-14T19:37:10Z Indexed on 2010/05/08 18:28 UTC
Read the original article Hit count: 167

Filed under:
|
|
|
|

I have a simple python script like so:

import sys

lines = sys.argv[1]

for line in lines.splitlines():
    print line

I want to call it from the command line (or a .bat file) but the first argument may (and probably will) be a string with multiple lines in it. How does one do this?

Of course, this works:

import sys

lines = """This is a string
It has multiple lines
there are three total"""

for line in lines.splitlines():
    print line

But I need to be able to process an argument line-by-line.

EDIT: This is probably more of a Windows command-line problem than a Python problem.

EDIT 2: Thanks for all of the good suggestions. It doesn't look like it's possible. I can't use another shell because I'm actually trying to invoke the script from another program which seems to use the Windows command-line behind the scenes.

© Stack Overflow or respective owner

Related posts about python

Related posts about dos