利用python3的telnetlib模块

远程登录ros,输入帐号密码,然后执行命令,并导出结果到txt文本: 不过实际操作这种方式不行,因为telnet导出来的文本文件,带颜色编码,根本无法看哦。

# !/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:lzd
import time def do_telnet(Host, username, password, finish, commands):
import telnetlib
'''''Telnet远程登录:Windows客户端连接Linux服务器''' # 连接Telnet服务器
tn = telnetlib.Telnet(Host, port=23510)
tn.set_debuglevel(2)#开启telnet调试模式 # 输入登录用户名
tn.read_until(b'Login: ')
tn.write(username + b'\n') # 输入登录密码
tn.read_until(b'Password:')
tn.write(password + b'\n') # 登录完毕后执行命令
tn.read_until(finish)
#print(commands)
tn.write(commands+b'\r\n')
time.sleep(10)#这里一定要等待10秒,因为你write命令以后,会等待很长时间,原因不详。
# 执行完毕后,终止Telnet连接(或输入exit退出)
tn.read_until(finish)
tn.write(b'quit\r\n') #time.sleep(3) result = tn.read_all()
file_object = open('result.txt', 'wb')
file_object.write(result)
file_object.close()
print('Finish') tn.close()
if __name__ == '__main__':
# 配置选项
Host = '192.168.200.100' # Telnet服务器IP
username = 'xxxx'.encode(encoding='utf-8') # 登录用户名
password = 'xxxx'.encode(encoding='utf-8') # 登录密码
finish = '>'.encode(encoding='utf-8') # 命令提示符
commands = 'ping 192.168.12.254 c 10'.encode(encoding='utf-8')
do_telnet(Host, username, password, finish, commands)

python3+ros+telnet+telnetlib的更多相关文章

  1. python3+ros api

    官方文档:https://wiki.mikrotik.com/wiki/Manual:API_Python3 # !/usr/bin/env python# -*- coding:utf-8 -*-# ...

  2. python第六天 函数 python标准库实例大全

    今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...

  3. 自建免费的代理ip池

    00x01--- 前言 因为爬虫被禁ip这样的反扒真的很凶,但自从建了一个代理ip池以后,反反扒就可以跟的上节奏.当然你也可以上网上各种代理平台自己付费.这些平台当然很方便提供api调用,还不用自己验 ...

  4. python 各模块

    01 关于本书 02 代码约定 03 关于例子 04 如何联系我们 1 核心模块 11 介绍 111 内建函数和异常 112 操作系统接口模块 113 类型支持模块 114 正则表达式 115 语言支 ...

  5. 使用Python操作Memcached

    1.安装 yum install memcached easy_install python-memcached 2.操作memcached import memcache mc = memcache ...

  6. Python Standard Library

    Python Standard Library "We'd like to pretend that 'Fredrik' is a role, but even hundreds of vo ...

  7. Python3+telnetlib实现telnet客户端

    一.程序要点说明 python实现telnet客户端的六个关键问题及其答案是: 使用什么库实现telnet客户端----telnetlib 怎么连接主机----两种方法,一种是在实例化时传入ip地址连 ...

  8. python3+telnetlib实现简单自动测试

    1 telnetlib介绍 1.1 简介 官方介绍文档:telnetlib -- Telnet 客户端 - Python 3.9.6 文档 telnetlib 模块提供一个实现Telnet协议的类 T ...

  9. 在ROS中使用Python3

    Use Python3 in ROS. 以下内容在Ubuntu 16.04 x64和ROS kinetic中测试通过 事实上,只要在.py文件加上python3的shebang,rosrun的时候就会 ...

随机推荐

  1. 解析CEPH: 存储引擎实现之一 filestore

    Ceph作为一个高可用和强一致性的软件定义存储实现,去使用它非常重要的就是了解其内部的IO路径和存储实现.这篇文章主要介绍在IO路径中最底层的ObjectStore的实现之一FileStore. Ob ...

  2. C-RAN

    无线接入网(RAN)是移动运营商赖以生存的重要资产.传统的无线接入网具有以下特点: 1. 每一个基站连接若干个固定数量的扇区天线,并覆盖小片区域,每个基站只能处理本小区收发信号: 2. 系统的容量是干 ...

  3. LeetCode第[11]题(Java):Container With Most Water (数组容器盛水)——Medium

    题目难度:Medium Given n non-negative integers a1, a2, ..., an, where each represents a point at coordina ...

  4. 编写程序时候莫名出现<property name="dialect">org.hibernate.dialect.FirebirdDialect</property>

    把<propertyname="dialect">org.hibernate.dialect.FirebirdDialect</property> 语句去掉 ...

  5. DESUtil 加密算法

    import java.security.Key; import java.security.Security; import javax.crypto.Cipher; /** *@Title: DE ...

  6. Ubuntu下Python使用MySQLdb远程连接数据库的常见问题及解决方案

    本文基于http://www.cnblogs.com/fnng/p/3565912.html这篇博文,学习使用MySQLdb过程中遇到下面这些问题. 1. 安装MySQLdb时运行sudo pytho ...

  7. python基础之多线程与多进程(二)

    上课笔记整理: 守护线程的作用,起到监听的作用 一个函数连接数据库 一个做守护线程,监听日志 两个线程同时取一个数据 线程---->线程安全---->线程同时进行操作数据. IO操作--- ...

  8. 剑指offer--29.从上往下打印二叉树

    层序遍历,队列 ------------------------------------------------------------------------------------- 时间限制:1 ...

  9. Electron中git, npm,webpack使用

    开始学习Electron的时候用到git, 记录学习一下, 学习地址是: https://zhuanlan.zhihu.com/p/20225295?columnSlug=FrontendMagazi ...

  10. Arcgis for javascript map操作addLayer详解

    本节的内容很简单,说说Arcgis for Javascript里面map对象的addLayer方法.在for JS的API中,addLayer方法有两种,如下图: addLayer方法 在addLa ...