运行Python脚本时,出现错误 - python

在运行下面的Python脚本时,出现错误:

 [root@localhost ~]# cat pythonR5script1
 import getpass
 import sys
 import telnetlib

 HOST = "100.100.100.1"
 user = raw_input("Enter your telnet username: ")
 password = getpass.getpass()

 tn = telnetlib.Telnet(HOST)

 tn.read_until("username: ")
 tn.write(user + "\r\n")
 if password:
    tn.read_until("Password: ")
    tn.write(password + "\r\n")

tn.write("enable\r\n")
tn.write("cisco\r\n")
tn.write("conf t\r\n")
tn.write("int loop 0\r\n")
tn.write("ip add 200.200.200.1 255.255.255.255\r\n")
tn.write("end\r\n")
tn.write("exit\r\n")


print tn.read_all()

这是我得到的错误:

[root@localhost ~]# python pythonR5script1 
Enter your telnet username: alan
Password: 
Traceback (most recent call last):
  File "pythonR5script1", line 14, in <module>
tn.read_until("Password: ")
  File "/usr/local/lib/python2.7/telnetlib.py", line 294, in read_until
return self._read_until_with_poll(match, timeout)
  File "/usr/local/lib/python2.7/telnetlib.py", line 343, in _read_until_with_poll
return self.read_very_lazy()
  File "/usr/local/lib/python2.7/telnetlib.py", line 455, in read_very_lazy
raise EOFError, 'telnet connection closed'
EOFError: telnet connection closed

请帮助我解决这个问题。

参考方案

您正在写字符串,而write函数需要字节字符串。

https://docs.python.org/3/library/telnetlib.html?highlight=telnetlib#telnetlib.Telnet.write

  Telnet.write(缓冲区)
       将字节字符串写入套接字,使所有IAC字符加倍。如果连接被阻止,则可能会阻止。如果可能会引发OSError
  连接已关闭。

在发送到服务器的字符串上执行encode()函数。

tn.write('{}\r\n'.format(user).encode())

Python-crontab模块 - python

我正在尝试在Linux OS(CentOS 7)上使用Python-crontab模块我的配置文件如下:{ "ossConfigurationData": { "work1": [ { "cronInterval": "0 0 0 1 1 ?", "attribute&…

Python Pandas导出数据 - python

我正在使用python pandas处理一些数据。我已使用以下代码将数据导出到excel文件。writer = pd.ExcelWriter('Data.xlsx'); wrong_data.to_excel(writer,"Names which are wrong", index = False); writer.…

Python:在不更改段落顺序的情况下在文件的每个段落中反向单词? - python

我想通过反转text_in.txt文件中的单词来生成text_out.txt文件,如下所示:text_in.txt具有两段,如下所示:Hello world, I am Here. I am eighteen years old. text_out.txt应该是这样的:Here. am I world, Hello old. years eighteen a…

用大写字母拆分字符串,但忽略AAA Python Regex - python

我的正则表达式:vendor = "MyNameIsJoe. I'mWorkerInAAAinc." ven = re.split(r'(?<=[a-z])[A-Z]|[A-Z](?=[a-z])', vendor) 以大写字母分割字符串,例如:'我的名字是乔。 I'mWorkerInAAAinc”变成…

Python sqlite3数据库已锁定 - python

我在Windows上使用Python 3和sqlite3。我正在开发一个使用数据库存储联系人的小型应用程序。我注意到,如果应用程序被强制关闭(通过错误或通过任务管理器结束),则会收到sqlite3错误(sqlite3.OperationalError:数据库已锁定)。我想这是因为在应用程序关闭之前,我没有正确关闭数据库连接。我已经试过了: connectio…