SyntaxError: invalid syntax (windows)

Gary Herron gherron at islandtraining.com
Wed Mar 25 11:51:35 EDT 2009


Python Newsgroup wrote:
> I'm a total newbe to scripting not to mention python. However I was 
> able to successfully create a telnet script to initiate login, 
> initiate tftp, exit, exit, confirm and close session. Frustrated, 
> possibly causing my own misery. I replace the sript the script with 
> the standard example.
>
> import getpass
> import sys
> import telnetlib
>
> HOST = "remote linux"
> user = raw_input("Enter your remote account: ")
> password = getpass.getpass()
>
> tn = telnetlib.Telnet(HOST)
>
> tn.read_until("login: ")
> tn.write(user + "\n")
> if password:
>    tn.read_until("Password: ")
>    tn.write(password + "\n")
>
> tn.write("ls\n")
> tn.write("exit\n")
>
> print tn.read_all()
>
> Regardless of the script content, running in windows I constently get 
> this SyntaxError:
>
> C:\Python30>python c:\Python30\scripts\telnet.py
>  File "c:\Python30\scripts\telnet.py", line 20
>    print tn.read_all()
>           ^
> SyntaxError: invalid syntax
>
> C:\Python30>


There's the clue:

In python 3.X, print is a function call
  print(tn.read_all() )
with lots of formatting and line-ending features

In python 2.X, print is a statement:
   print tn.read_all()

If you want one script to work for both Windows and Linux, then you 
should probably
be running the same version of Python on each.   At least both versions 
should be on
the same side for the Python 2.x/3.x version change.


Gary Herron



>
> The same script works fine from linux.
>
> I have also notices some other slight differences: this is my original 
> script that runs and completes but only if I comment out print. Also 
> tried to run debug without success in windows again this worked fine 
> in linux. To run this script in linux I also had to remove the b 
> syntax in the "b" in the perentesis
>
> import telnetlib
> # import pdb
>
> HOST = "HP switch"
>
> tn = telnetlib.Telnet(HOST)
>
> tn.read_until(b'Password: ')
> tn.write(b'password\n')
>
> pdb.set_trace()
>
> tn.read_until(b'HP switch# ')
> tn.write(b' sh time\n')
>
> tn.read_until(b'HP switch# ')
> tn.write(b'exit\n')
>
> tn.read_until(b'HP switch> ')
> tn.write(b'exit\n')
>
> tn.read_until(b'Do you want to log out [y/n]? ')
> tn.write(b'y')
>
> print tn.read_all()
>
> Any guidance would be appreciated.
>
> Delrey
> -- 
> http://mail.python.org/mailman/listinfo/python-list




More information about the Python-list mailing list