telnetlib write失敗

33 views
Skip to first unread message

Rex Chang

unread,
Aug 7, 2018, 12:18:07 AM8/7/18
to python.tw
import wx
import telnetlib

class MyFrame(wx.Frame):

def __init__(self, *args, **kw):
super(MyFrame, self).__init__(*args, **kw)

self.InitUI()

def InitUI(self):
pnl = wx.Panel(self)

wx.StaticBox(pnl, label='Downstream', pos=(5, 5), size=(240, 170))
wx.StaticText(pnl, label='SC-QAM', pos=(15, 55))
self.DS_SCQAM_input = wx.SpinCtrl(pnl, value='1', pos=(75, 50), size=(60, -1), min=1, max=32)
wx.StaticText(pnl, label='OFDM', pos=(15, 95))
self.DS_OFDM_input = wx.SpinCtrl(pnl, value='1', pos=(75, 90), size=(60, -1), min=0, max=8)
wx.StaticBox(pnl, label='Upstream', pos=(250, 5), size=(240, 170))
wx.StaticText(pnl, label='SC-QAM', pos=(265, 55))
self.US_SCQAM_input = wx.SpinCtrl(pnl, value='1', pos=(325, 50), size=(60, -1), min=1, max=32)
wx.StaticText(pnl, label='OFDMA', pos=(265, 95))
self.US_OFDMA_input = wx.SpinCtrl(pnl, value='1', pos=(325, 90), size=(60, -1), min=0, max=8)

self.submit_btn = wx.Button(pnl, label='Ok', pos=(220, 185), size=(60, -1))

self.submit_btn.Bind(wx.EVT_BUTTON, self.OnClick, self.submit_btn) # bind (while click button, go to OnClose function)

self.SetSize((510, 270))
self.SetTitle('Static box')
self.Centre()
self.Show(True)

def OnClick(self, event):
host = b"172.21.36.254"
pw = b"casa"
self.tn = telnetlib.Telnet(host)
self.tn.read_until(b"CASA-C10G login:")
self.tn.write(b"root\n")
self.tn.read_until(b"Password:")
self.tn.write(pw + b"\n")
self.tn.read_until(b"CASA-C10G>")
self.tn.write(b"enable\n")
self.tn.read_until(b"Password:")
self.tn.write(pw + b"\n")

#        self.tn.write(b"interface qam 0/0\n")
# self.tn.write(b"channel 0 shutdown\n")

        self.tn.write(b"interface qam 0/" + bytes(0) + b"\n")
self.tn.write(b"channel " + bytes(0) + b" shutdown\n")
        self.tn.close


def main():
ex = wx.App()
MyFrame(None)
ex.MainLoop()


if __name__ == '__main__':
main()




各位前輩好,

我在寫一個以telnet remote control 的python script,
但遇到一個問題,
若今天以註解掉的兩行去做運行,
指令可以順利的加到遠端的機器內,
但若今天我是以bytes(0)的方式寫進去就會失敗,(但也不會有錯誤訊息,就是遠端機器照我的指令去做更改)
主要想這樣改的原因是我想在這兩行指令內加入變數,
所以想先做一個小實驗,
但小實驗就先錯誤了,
不曉得是自己哪先觀念錯誤,
想麻煩各位前輩給些意見。
感謝。

我的環境是Python3.6
Reply all
Reply to author
Forward
0 new messages