On Monday 01 June 2015 17:50, fl wrote: > Hi, > > When I try the following (They are saved in a main.py file) > > #!/usr/bin/python > print r'C:\\nowhere'
Aside: Don't use raw strings for file names. They aren't intended for file names, and while they will *usually* work, some day you will try something like this: path = r'C:\\path\ending\with\slash\' and then you will discover that raw strings aren't for file names. So just get used to using forward slashes. > It works as the tutorial, i.e. it echoes in a Windows 7 > command console: > > > C:\\nowhere How do you run it in Windows 7? The hashbang line #!/usr/bin/python is for Linux and Unix, and won't work on Windows. So you must be doing something to execute the file. What is that? > When I run the following command in a Python 2.7.9 Shell on Windows 7, > > print r'C:\\nowhere' > > > > It has error: > >>>> print r'C:\\nowhere' > SyntaxError: invalid syntax In the future, please copy and paste the *complete* traceback, as that may include more information. Syntax errors usually include a line pointing to the location of the error, or just past it: py> print foo File "<stdin>", line 1 prin foo ^ SyntaxError: invalid syntax Notice the line with the ^ caret? > What is the problem? Why does it behave different at .py file > and Python Shell? Are you absolutely sure the Python Shell is running Python 2.7? It looks like you are running Python 3. What does this display in the shell? import sys sys.version Otherwise you must have run this at some point: from __future__ import print_function If you exit the shell, and start it up again, that should reset import. If not, then there is a possibility that your version of Python is configured to do the __future__ import. Try this: print print_function What do you see? If you get an error, copy and paste the *entire* traceback. -- Steve -- https://mail.python.org/mailman/listinfo/python-list