SyntaxError: invalid syntax (windows)

2009-03-25 Thread Python Newsgroup
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>

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


Re: SyntaxError: invalid syntax (windows)

2009-03-25 Thread Python Newsgroup
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"  wrote in message 
news:mailman.2656.1237996300.11746.python-l...@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




--
http://mail.python.org/mailman/listinfo/python-list


Re: SyntaxError: invalid syntax (windows)

2009-03-25 Thread Python Newsgroup
Gotcha, I got started from the telnet example listed in the docs. The linux 
install was via yum and installed 2.x instead. That explains it. Althought 
print (tn.read_all () ) runs in 2.x on linux.


I have another problem maybe you cna help me with. My telnet output 
jibberish in windows: I cna parse some of the output for results but is 
there anyway to get rid of the jibberish. (looks like hex but I'm not sure)


I can only use this tn.read_until(b'whatever string') Is this whats causing 
the output? the b switch. seems like I don't need it in linux. is that 
binary?


Thanks

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>




"MRAB"  wrote in message 
news:mailman.2658.1237996568.11746.python-l...@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>

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.


It looks like you're using Python 3.0 on Windows and Python 2.x on
Linux.

In Python 2.x, 'print' is a statement:

print tn.read_all()


In Python 3.x, 'print' is a function, so you need to write:

print(tn.read_all()) 


--
http://mail.python.org/mailman/listinfo/python-list