学习记录:python serial 库&excel操作
来源:互联网 发布:3gpp网络 编辑:程序博客网 时间:2024/06/07 01:54
1,背景
前段时间参与了一个项目,需要对路由设备进行自动化扫描,路由设备获取到shell的方式很多,但是既然要通用,就必须要使用串口方式,就学习了一下,做个记录。
由于没有找到相应通用的方法(lz,rz需要编译无法自动化),在串口间传输文件,因此看看来,最后还是要使用ftp来传输,麻烦!仅对串口做个记录吧。
2,参考文章
比较详细的记录:http://icodding.blogspot.jp/2016/05/python-pyserial.html
需要调试的demo:http://www.cnblogs.com/Dreamxi/p/4109450.html
当然官方文档:http://pyserial.readthedocs.io/en/latest/pyserial.html
github:https://github.com/pyserial/pyserial
3,一个执行命令不断读取的小模块
远程执行ls命令并获得回显结果:
#coding=utf-8import serialdef romote_ls_cmd1(): ser = serial.Serial("com1", 115200, timeout=2) print(ser.is_open) if ser.is_open: ser.write("ls -l\r\n".encode()) while True: data = ser.readline().decode("utf-8") #此处也可以使用readlines一次读出来。 print(data.strip()) if len(data) == 0: break else: print("ser is not open") ser.close() #也可以把read(size) + inWaiting() def romote_ls_cmd2(): ser = serial.Serial("com1", 115200, timeout=2) print(ser.is_open) if ser.is_open: while True: ser.write("ls -l\r\n".encode()) size = ser.inWaiting() if size: data = ser.read(size).decode("utf-8") print(data.strip()) if len(data) == 0: break else: print("ser is not open") ser.close()
4,自动化运行的结果要求使用excel保存
因此又接触了几个excel的模块
针对sheet的两个操作,需要格外记忆一下
4.1 rename sheet
http://stackoverflow.com/questions/13785306/change-name-of-an-excel-worksheet-after-reading-the-file-in-python
from xlutils.copy import copyfrom xlrd import open_workbook# open the file you're interestedrb = open_workbook('some_document.xlsx')# copy it to a writable variantwb = copy(rb)# find the index of a sheet you wanna rename,# let's say you wanna rename Sheet1idx = rb.sheet_names().index('Sheet1')# now rename the sheet in the writable copywb.get_sheet(idx).name = u'Renamed Sheet1'# save the new spreadsheetwb.save('new_some_document.xlsx')# done
4.2 append sheet
http://stackoverflow.com/questions/38081658/adding-a-sheet-to-an-existing-excel-worksheet-without-deleting-other-sheet
import xlrd, xlwtfrom xlutils.copy import copy as xl_copy# open existing workbookrb = xlrd.open_workbook('ex.xls', formatting_info=True)# make a copy of itwb = xl_copy(rb)# add sheet to workbook with existing sheetsSheet1 = wb.add_sheet('Sheet1')wb.save('ex.xls')
4.3 读写的笔记
参考:http://www.cnblogs.com/weiok/p/5369741.html
0 0
- 学习记录:python serial 库&excel操作
- python excel和csv处理操作记录
- Python学习-Excel表格操作
- Python学习笔记-Excel读写操作
- 【Python学习】xlwt框架操作excel表格
- Python 操作Excel 学习笔记(一)
- python--serial
- python--serial
- Python---serial
- Python学习记录(计算机基础操作)
- PHP excel操作记录
- excel操作技巧记录
- python文件操作+字符串操作 总结(学习记录)
- Flask Excel python操作excel
- python modbus_tk库 学习记录
- 使用python操作excel
- python 操作 excel
- python操作excel
- Android 自带的DownloadManager 在Service 中下载 apk 安装
- Ural1118-Nontrivial Numbers
- MVC笔记 Controller相关技术
- Shimeji开源桌宠代码学习(2)
- 明年大数据行业的趋势会是哪些?
- 学习记录:python serial 库&excel操作
- RecyclerView 以及 ItemClickListener的实现
- 423_获取TextView的行数
- 【LeetCode】67. Add Binary
- 有关远程ssh操作
- 424_模仿微信提示dialog
- android 自定义View implements OnClickListener
- 425_缩小TextView字体到两行
- 【HTML5】图像剪裁