【Python】python2.7使用串口发送txt文件的数据
实现效果:Python端发送txt文件里的数据
串口助手显示接收到的数据
操作步骤如下:
1、先安装Python的串口库pyserial,安装方法有很多种,以下的适用我的win10 64位。
将你电脑安装的Python程序目录放入系统的path路径
点击
https://pypi.python.org/packages/source/p/pyserial/pyserial-2.7.tar.gz#md5=794506184df83ef2290de0d18803dd11
下载,
然后随便解压到某个目录下,
在这个目录下按shift+右键空白处可以直接调出cmd,
然后在命令行输入
python setup.py install
至此pyserial安装完毕。
2、由于不想拍打印机的打印效果,也考虑到读者不一定有打印机,所以我们用虚拟的串口工具短接一下,能接到数据显示就可以了。
下载串口虚拟软件
安装完成后把Cracked文件夹里的vspdconfig.exe和vspdctl.dll复制到安装目录后就可完成汉化破解。
打开
尝试发送普通数据没问题,发送没问题,尝试发送txt,代码如下
#!/usr/bin/env python# -*- coding: utf-8 -*-import serial#打开串口serialPort="COM2" #串口baudRate=9600 #波特率ser=serial.Serial(serialPort,baudRate,timeout=0.5) print "参数设置:串口=%s ,波特率=%d"%(serialPort,baudRate)CMD = open('./60mmx70mm的模板.txt')print ("CMD:%s" % (CMD))line = CMD.readline();#收发数据while line:#str = raw_input("请输入要发送的数据(非中文)并同时接收数据: ")#ser.write((str+'\n').encode())#print(ser.readline())#可以接收中文ser.write(line)print (line)line=CMD.readline()ser.close()
但是出现错误提示
IOError: [Errno 22] invalid mode ('r') or filename
确认已经将60mmx70mm的模板.txt文件放入该目录下,百度说该原因是文件权限问题,尝试如下改进
CMD = open('.//60mmx70mm的模板.txt')
还是同样提示
考虑到文件中包含中文,所以需要增加
# -*- coding: cp936 -*- #2.7版本带中文需要加该语句否则无法打印
该语句应该很关键,一定要在utf-8之前,完整代码如下
#!/usr/bin/env python# -*- coding: cp936 -*- #2.7版本带中文需要加该语句否则无法打印# -*- coding: utf-8 -*-import serial#打开串口serialPort="COM2" #串口baudRate=9600 #波特率ser=serial.Serial(serialPort,baudRate,timeout=0.5) print "参数设置:串口=%s ,波特率=%d"%(serialPort,baudRate)CMD = open('.//60mmx70mm的模板.txt')print ("CMD:%s" % (CMD))line = CMD.readline();#收发数据while line:#str = raw_input("请输入要发送的数据(非中文)并同时接收数据: ")#ser.write((str+'\n').encode())#print(ser.readline())#可以接收中文ser.write(line)print (line)line=CMD.readline()ser.close()
效果如显示,
2019年08月28日补充:
如果是Python3.0,要作出很多改变,比如需要将文件指定编码格式来获取字符串,发送时再用encode编码为gb2312的byte,如下:
```python
CMD = open('模板.txt', encoding='utf-8')
ser.write(line.encode('gb2312'))
```
这样才能被打印机识别,2.7反倒不用,虽然2.7便利些,但在一些打印机字符需要指定特定编码格式时它是无力的。
2019年08月26日补充:
txt文件编码格式要先解码,易混淆,推荐直接在代码中写打印指令
printCommand = [ 'SIZE 70 mm,40 mm', 'GAP 3 mm,0', 'SPEED 5', 'DENSITY 5', 'DIRECTION 1', 'CLS', '……','PRINT 3,1'
]
print("可将输出作为txt文件提供给开发:\r\n")
for i in printCommand:print(i + "\r\n")# 每条指令后面都要有\r\nser.write((i + "\r\n").encode('gb18030'))
【Python】python2.7使用串口发送txt文件的数据相关推荐
- c++ 按行读取txt文件并赋值_python操作txt文件中数据教程[3]python读取文件夹中所有txt文件并将数据转为csv文件...
觉得有用的话,请点击右下角 推荐给更多小伙伴 neoken_xuAsurada2015Evacloud 参考文献 python 操作 txt 文件中数据教程[1]-使用 python 读写 txt 文 ...
- python实现图书管理系统——通过excel文件或者TXT文件存放数据
用python实现图书管理系统--通过excel文件或者TXT文件存放数据 话不多说,先上图,看看运行起来的效果: 由上图可知,我实现的主要功能: 用户注册 用户登录 添加图书 查询图书 删除图书 修 ...
- MATLAB输出串口发送所需十六进制数据
MATLAB输出串口发送所需十六进制数据 在FPGA设计过程中,有时需要与MATLAB进行联合调试,需要从MATLAB导出数据,再从PC端通过串口发送给FPGA,对数据进行处理后再返回PC端.串口 ...
- 从Oracle导出数据到TXT文件从TXT文件导入数据到Oracle
如果是txt文件的数据导入oracle中,数据量大的话用pl/sql会卡死,那么就要用到sqlload命令. 前两天在做一个不算任务的任务,用shell脚本将数据库中的数据导出到文件,在万能的百度上找 ...
- python怎么读取中文文件-Python中使用不同编码读写txt文件详解
复制代码 代码如下: import os import codecs filenames=os.listdir(os.getcwd()) out=file("name.txt",& ...
- python接口自动化参数化_Python读取txt文件数据的方法(用于接口自动化参数化数据)...
小试牛刀: 1.需要python如何读取文件 2.需要python操作list 3.需要使用split()对字符串进行分割 代码运行截图 : 代码(copy) #encoding=utf-8 #1.r ...
- python从txt拿取数据_python从txt文件读取数据
(作为一个python初学者,记录一点学习期间的笔记,方便日后查阅,若有错误或者更加便捷的方法,望指出!) 1.读取TXT文件数据,并对其中部分数据进行划分.一部分作为训练集数据,一部分作为测试集数据 ...
- python 怎么表示sqlserver null_如何使用Python将sqlserver查询输出写入.txt文件?
我是Python新手,尝试连接到sqlserverdb并将查询的输出转换成一个flat.txt文件.在 一些代码正在工作,但是只写了将近1000条记录,然后就停止了.在 Python版本:2.7.13 ...
- python文本数据处理_python 数据处理 对txt文件进行数据处理
原博文 2019-10-19 17:30 − 数据: 对txt文件进行数据处理: txt_file_path = "basic_info.txt" write_txt_file_p ...
最新文章
- JavaScript权威指南(第六版) 初读笔记
- East Central North America Region 2015
- jQuery插件开发全解析
- [转]机器视觉开源代码集合
- 010-映射诊断环境
- 互斥信号量解决任务间资源共享问题
- 第二阶段_第二小节_C#调试
- mysql 日期函数大全_MYSQL 日期函数大全
- 三位数流水码的生成(000·····009··00A····00Z····ZZZ)
- 人月神话读感/摘抄 四
- 想通过好的商业模式赚钱,应该钻研“道”还是“术”呢?
- cte公用表表达式_在SQL Server中使用CTE进行插入和更新(公用表表达式)
- ThinkPHP框架 _ 学习11
- [C#]关于逆变与协变的基本概念和修饰符in与out的意义
- 对 String 字符串的理解
- PHP内置函数parse_str会自动进行urldecode(URL解码)
- Wireshark系列之7 利用WinHex还原文件
- 项目管理实战课程总结
- android如何局域网通信,android局域网怎么通信
- Ubuntu软件下载速度慢解决
热门文章
- 北京内推 | 微软亚洲研究院机器学习组招聘说话人脸生成方向研究实习生
- 计算机考证需要报电脑培训班吗
- 正则表达式 bs4解析 xpath解析
- 在启动Tomcat 6.0时发现第一条信息便是: The Apache Tomcat Native library which allows optimal performance in produc
- Likely Unlikely 原理与用法
- 计算机多媒体教室维修登记册,专用教室管理制度_专用教室管理制度范文
- HTML5+CSS网页设计——文字样式属性
- 裁员 or 缩招,AI 四起,你的工作还好吗?
- 网曝苍南发生城管打人事件
- php制作简单计算器,二、php制作简易的计算器