SyntaxError: invalid syntax (windows)

Python Newsgroup chris at delrey-tech.com
Wed Mar 25 17:20:22 CET 2009


Thats newbe experience for ya ;-) thanks. Its seems to work and leads to 
another question. whether running the script or stepping thru the process at 
the command line I get what looks like hex

C:\Python30>python \Python30\scripts\telnet-tftp1.py
b'\x1b[24;1H\x1b[24;31H\x1b[24;1H\x1b[?25h\x1b[24;31H\x1b[24;31Hy\x1b[24;31H\x1b
[?25h\x1b[24;32H\x1b[24;0H\x1bE\x1b[24;1H\x1b[24;32H\x1b[24;1H\x1b[2K\x1b[24;1H\
x1b[?25h\x1b[24;1H\x1b[1;24r\x1b[24;1H\x1b[2J\x1b[?7l\x1b[1;24r\x1b[?6l\x1b[24;1
H\x1b[?25h\x1b[24;1H\x1b[?6l\x1b[1;0r\x1b[?7l\x1b[2J\x1b[24;1H\x1b[1;1H\x1b[2K\x
1b[24;1H\n\r'

C:\Python30>

I can verify the script ran thru and executed the telnet commands. is there 
a switch to convert to binary/ASCI or reduce the logging of the telnet 
session ???

Thanks again
Chris



"Gary Herron" <gherron at islandtraining.com> wrote in message 
news:mailman.2656.1237996300.11746.python-list at python.org...
> 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