Python脚本连接ROS脚本

说明:

以下均为实际遇到过的需求,如有其他需求,可在官网查看写法
或自行Google routeos api,有不懂或者有问题,可私信沟通
此脚本为连接ROS,并执行命令,这里只用到了ping命令,还有其他写法
如:
  1. api.get_resource(“/tool”).call(“traceroute”, {“src-address”: “源地址”, “routing-table”: “指定路由” , “address”: “对端地址”, “count”: “1”})
    不需要的字段可以直接backspace掉

  2. api.get_resource(‘/tool’).call(“fetch”, {“address”: “地址”, “upload”: “yes”, “user”: “FTP账号”,“password”: “FTP密码”, “src-path”: “文件名”,“port”: “21”, “mode”: “ftp”, “dst-path”: “文件名”, “keep-result”: “yes”})
    将文件上传至各平台搭建的FTP服务器

  3. api.get_resource(‘/’).call(“export”, {“file”: ‘文件名’})
    输出配置到文件

  4. api.get_resource(‘/file’).call((“print”))
    获取ROS中保存的所有文件

  5. 以下代码块为获取所有文件,删除指定文件

all_file = api.get_resource('/file').call(("print"))    # 输出ROS所有文件
file_id = []
for i in all_file:if i["name"] == '文件名':file_id.append(i["id"])
conf_id = "".join(file_id)
del_conf_file = api.get_resource("/file")
del_conf_file.remove(id=conf_id)     # 删除文件,通过文件id定位文件
  1. 完整的ping代码如下,可直接替换参数使用(需自行添加空余参数),注意需要在ROS放开api
import routeros_api
import osip = ''
username = ''
passwd = ''# 封装过的登录ROS认证api函数,可直接copy
def log_in(ip, username, passwd):connection = routeros_api.RouterOsApiPool(ip,username=username,password=passwd,port=8728,plaintext_login=True,ssl_verify_hostname=False)api = connection.get_api()return api# 封装过的带认证输入命令的函数,可直接copy
def return_ping(api):result = api.get_resource("").call("ping", { "address": "", "count": "5", "interval": "1"})return resultif __name__ == '__main__':api = log_in(ip, username, passwd)result = return_ping(api)ip = result[0]["host"]time_list = []for i in result:try:time_list.append(int(i['time'].replace('ms','')))except:time_list.append(0)time = max(time_list)# time为ping命令的返回值,为ping5次的最大延时# 有需要可以自行print返回值,获取自己想要的结果

Python连接ROS相关推荐

  1. python链接mysql 判断是否成功_【初学python】使用python连接mysql数据查询结果并显示...

    因为测试工作经常需要与后台数据库进行数据比较和统计,所以采用python编写连接数据库脚本方便测试,提高工作效率,脚本如下(python连接mysql需要引入第三方库MySQLdb,百度下载安装) # ...

  2. python连接oracle数据库_Python连接oracle数据库 例子一

    step1:下载cx_Oracle模块,cmd--pip install cx_Oracle step2: 1 import cx_Oracle #引用模块cx_Oracle 2 conn=cx_Or ...

  3. 简单介绍python连接telnet和ssh的两种方式

    本文主要介绍了python连接telnet和ssh的两种方式,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 Telnet 连接方式 #!/usr/bin/env p ...

  4. python连接MySQL并进行数据查询

    python连接MySQL并进行数据查询 #建立数据库的连接 mydb = mysql.connector.connect(host="0.0.0.0",user="ro ...

  5. python连接access数据库查询并打印出来_Python连接Access和读取Access数据库的例子

    其实这个Python连接Access和读取Access数据库的例子是写给自己看的,网上已经有Python读取Access的例子了,我这个也是参考以上制作的. 而这个例子应该是只能在windows使用吧 ...

  6. python连接sqlite数据库的代码_【Python 连接SQLite数据库文件】

    涉及: Python连接db文件 如何按照列名获取数据 如何传入参数 示例代码如下: # encoding=utf-8 import sqlite3 def get_signal_names(db_f ...

  7. python连接elasticsearch查询数据

    python连接elasticsearch获取数据 原文:https://blog.csdn.net/ziqiaowang/article/details/54972279 # -*- encodin ...

  8. mac版python连接mysql_Mac下Python连接MySQL · BlBana’s BlackHouse

    Mac和Windows下安装mysqlclient坑点记录 Python连接MySQL(mysqlclient) Python连接MySQL类库pymysql python3:mysqlclient, ...

  9. python连接mysql数据库数据库_python如何连接mysql数据库

    先花点时间来说说一个程序怎么和数据库进行交互 1.和数据库建立连接 2.执行sql语句,接收返回值 3.关闭数据库连接 使用MySQLdb也要遵循上面的几步.让我们一步步的进行. 1.MySQL数据库 ...

最新文章

  1. HR与HRBP的区别
  2. Android应用开发:网络编程-2
  3. HDU 5115 Dire Wolf
  4. LOAD DATA INFILE句法
  5. Android之如何使用junit
  6. WinAPI: waveInGetPosition - 获取当前输入设备的输入位置
  7. 什么是事务ACID原则?(建议收藏)
  8. Frequentist 观点和 Bayesian 观点
  9. 当知识图谱遇上预训练语言模型
  10. Android中WebView和JavaScript进行简单通信
  11. matlab 向量元素,MATLAB遍历向量的元素
  12. ubuntu16.04安装驱动
  13. Migrate to vc8(vs2005)
  14. POJ_3984迷宫问题(bfs基础题)
  15. 微星主板节能模式怎么关闭_技嘉小雕、微星迫击炮、华硕电竞特工三款主板对比...
  16. 宝宝泡药浴和直接吃药有什么区别吗?
  17. Multi-Exemplar Affinity Propagation
  18. 20单元——学习正解表达式及学习实践 Shell script
  19. Crazy Learning for Day 7
  20. 给自己最近定一个小目标

热门文章

  1. swft 语言 java_Swift语言中与C/C++和Java不同的语法(二)
  2. 九龙证券|超50亿主力资金砸盘计算机行业,这类股获资金青睐
  3. ROS Noetic入门笔记(二)ROS Noetic创建工作空间和功能包
  4. Edge 插件开发 简单示例
  5. 树莓派系列(4)-手把手教你打造智能小车
  6. 知识图谱最新权威综述论文解读:知识图谱应用部分
  7. Unity 游戏框架搭建 2018 (一) 架构、框架与 QFramework 简介
  8. Java#32(异常, File)
  9. 数字化时代,企业运维面临现状及挑战分析解读
  10. java stream实现分组BigDecimal求和,自定义分组求和