This works for me using the same scope.
Set setblocking(True) and add a \n to the *IDN? command.
import socket
import sys
import time
class Tek_scope(object):
def __init__(self, IPaddress, PortNumber = 4000):
self.s = socket.socket(socket.AF_INET , socket.SOCK_STREAM)
self.s.connect((IPaddress, PortNumber))
self.s.setblocking(True)
print "Scope opened Successfully"
scope1 = Tek_scope("10.1.10.15") # Connects to the scope
scope1.s.send('*IDN?\n') # Sends the *IDN? command to the scope.
print scope1.s.recv(1024)