我正在尝试编写一个Python(3.3,如果它有所作为)类,它将通过telnet连接与调制解调器通信。基本上,根据用户输入,将向调制解调器发送不同的命令,并且我希望在程序执行期间保持telnet连接打开。值得注意的是,这是我第一次使用Python,来自C#和Java背景,所以我仍然试图掌握它。
无论如何,我想我还没有学到很多关于OO概念的知识,所以我想问一下:在同一个类中有多种方法重用持久性telnet连接的首选方法吗?另外,建议将代码放在_login
的{{1}}中吗?我将给出一些代码示例:
__init__
传递给tn
_login
class Communicator:
tn = telnetlib.Telnet()
def __init__(self, host, port, user, password):
self._login(user, password)
def _login(self, host, port, user, password, conn=tn):
conn.open(host, port)
conn.read_until("Username: ")
conn.write(user.encode('ascii') + b"\r\n")
conn.read_until("Password: ")
conn.write(password.encode('ascii') + b"\r\n")
使用_login
self.tn
我总是乐于接受建议。就像我说的,这是我第一次玩Python,我应该练习Pythonic的做事方式。