On 17/06/11 19:47:50, Timo Lindemann wrote:
On Fri, 17 Jun 2011 00:57:25 +0000, Jason Friedman said:



but for various reasons I want a single script.  Any alternatives?

you can use a here document like this:


#! /bin/bash

/usr/bin/python2<<  EOPYTHON
def hello():
        print("Hello, World");

if __name__ == "__main__":
        hello();

EOPYTHON

That does not solve the problem as stated.  The OP wants to call python
inside a loop and he wants to indent things properly:

#!/bin/bash

for i in 1 2 3 4 5
do
        python << EOPYTHON
                def hello():
                        print("Hello, World");

                if __name__ == "__main__":
                        hello();
        EOPYTHON
done

That doesn't work, because the EOPYTHON token is indented.

If you put the EOPYTHON token flush left, it still doesn't work, because
Python does not accept indentation on line 1:

  File "<stdin>", line 1
    def hello():
    ^
IndentationError: unexpected indent


For some ideas that may work, read the earlier posts in this thread.


-- HansM
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to