SyntaxError: неожиданный EOF при разборе - tn.close () - PullRequest
0 голосов
/ 25 мая 2018

Нужно написать код для работы, которая соединяется с устройством по telnet, запускает команду и выходит из telnet

Продолжаю получать сообщение об ошибке

файл "python", строка 54 tn.close ()^ SyntaxError: неожиданный EOF при разборе

Что я делаю не так, плохо знаком с кодированием

Приветствия

import time
import telnetlib
tn_username = "xxxx"
tn_password = "xxxxxxx"

#Globals:
CACHE_DATA          = {}
SNIPPET_NAME        = 'xxxxxx: xxxxxx'
FAILED_COUNT        = 0
COLLECTION_PROBLEM  = False
TELNET_PORT         = 23                     
TELNET_TIMEOUT      = 2                      
FAILED_ITEMS         = []

self.logger.ui_debug('************** %s: Starting *******************' % (SNIPPET_NAME))


#start timer
start_time = time.time()
try:
        #connect to telnet
        tn = telnetlib.Telnet

        tn.read_until("login: ")
        tn.write(tn_username + "\n")
        tn.read_until("Password: ")
        tn.write(tn_password + "\n")


        for obj_oid in result_handler.oids:
            ##obj_name = result_handler[obj_oid]['name']
            try:
                #run oid as CLI call from result_handler
                tn.write(obj_oid+"\r")
                rawdata = tn.read_until("Welcome to the Tesira Text Protocol Server...", TELNET_TIMEOUT)

                if rawdata:
                    result_handler[obj_oid] = [(0,"Collection Ok")]
                    CACHE_DATA[obj_oid] = rawdata.strip()
                else:
                    FAILED_COUNT += 1
                    result_handler[obj_oid] = [(0,"Failed: No data found")]
                    FAILED_ITEMS.append(obj_oid)
            except:
                FAILED_ITEMS.append(obj_oid)
                result_handler[obj_oid] = [(0,'Failed: Collection: %s' % obj_oid)]
                FAILED_COUNT +=1

        #save job time for perf graph
        CACHE_DATA['biamp'] = round(time.time() - start_time,4)

        #gracefully quit the telnet session so as to not leave any defunct processes on the host device.
        tn.write("bye\r")
        tn.close()
...