많은 인쇄 명령으로 약 300 행의 스크립트 (일부는 아래에 붙여 넣음)가 있습니다. 내가 생산 한 생산물을 정화하려고합니다. 그런 식으로 그대로두면 모든 인쇄 명령이 콘솔에 \ r \ n 인 바이트를 인쇄합니다..decode() 메소드로 인쇄 명령 추가하기
내가 출력해야하는 변수 앞에 .decode ('utf-8')를 추가하면 출력이 내가 원하는 (유니 코드 문자열) 것으로 생각됩니다. 예를 들어 아래의 print (data1) 및 print (data3) 명령을 비교하십시오. 내가하고 싶은 것은 모든 코드를 검토하고 모든 print 문에 .decode()를 추가하는 것입니다.
모든 인쇄 명령이 형식으로되어 있습니다 : .decode()
이 string
방법이기 때문에 실패합니다 .decode()
print()
에 문을 덧붙이 인쇄 (dataxxxx)
import telnetlib
import time
import sys
import random
from xlwt import Workbook
shelfIp = "10.10.10.10"
shelf = "33"
print ("Shelf IP is: " + str(shelfIp))
print ("Shelf number is: " + str(shelf))
def addCard():
tn = telnetlib.Telnet(shelfIp)
### Telnet session
tn.read_until(b"<",5)
cmd = "ACT-USER::ADMIN:ONE::ADMIN;"
tn.write(bytes(cmd,encoding="UTF-8"))
data1 = tn.read_until(b"ONE COMPLD", 5)
print (data1.decode('utf-8'))
### Entering second network element
cmd = "ENT-CARD::CARD" + shelf + "-" + shelf + ":TWO:xyz:;"
tn.write(bytes(cmd,encoding="UTF-8"))
data3 = tn.read_until(b"TWO COMPLD", 5)
print (data3)
### Entering third network element
cmd = "ENT-CARD::CARD-%s-%s:ADM:ABC:;" %(shelf,shelf)
tn.write(bytes(cmd,encoding="UTF-8"))
dataAmp = tn.read_until(b"ADM COMPLD", 5)
print (dataAmp)
tn.close()
addCard()
그 다음 질문은 무엇입니까? – SatA
들여 쓰기를 수정하십시오. – senshin
참고 사항 : 샘플 코드에서 제공 한 IP 및 기타 문자열이 실제가 아니거나 사용 중이 지 않기를 바랍니다. 보안이 중요하므로 시스템이나 소프트웨어에 대한 중요한 정보를 붙여서는 안됩니다. 대신 의미가없는 더미 문자열을 넣고 질문을 명확히하기 위해 보여줄 필요가있는 것을 보여주십시오. – SatA