According to the document
(http://docs.python.org/using/cmdline.html#interface-options),
> When called with -c command, it executes the Python statement(s) given as
> command. Here command may contain multiple statements separated by newlines.
> Leading whitespace is significant in Python statements!
So you should replace the semicolon with newline.
BTW, the loop can be simplified using `enumerate` like this:
for i, p in enumerate(sys.path):
On Thursday, October 11, 2012 7:24:31 PM UTC+8, Gisle Vanem wrote:
> Hello list. I'm a newbie when it comes to Python.
>
>
>
> I'm trying to turn this:
>
>
>
> def print_sys_path():
>
> i = 0
>
> for p in sys.path:
>
> print ('sys.path[%2d]: %s' % (i, p))
>
> i += 1
>
>
>
> into a one-line python command (in a .bat file):
>
>
>
> python -c "import sys,os; i=0; for p in sys.path: print('sys.path[%%2d]:
> %%s' %% (i, p)); i+=1"
>
>
>
> But:
>
> File "<string>", line 1
>
> import sys,os; i=0; for p in sys.path: print('sys.path[%2d]: %s' % (i,
> p)); i+=1
>
> ^
>
> SyntaxError: invalid syntax
>
>
>
> The caret is on the 'for'. What's the problem?
>
>
>
> --gv
--
http://mail.python.org/mailman/listinfo/python-list