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