实现效果: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文件的数据相关推荐

  1. c++ 按行读取txt文件并赋值_python操作txt文件中数据教程[3]python读取文件夹中所有txt文件并将数据转为csv文件...

    觉得有用的话,请点击右下角 推荐给更多小伙伴 neoken_xuAsurada2015Evacloud 参考文献 python 操作 txt 文件中数据教程[1]-使用 python 读写 txt 文 ...

  2. python实现图书管理系统——通过excel文件或者TXT文件存放数据

    用python实现图书管理系统--通过excel文件或者TXT文件存放数据 话不多说,先上图,看看运行起来的效果: 由上图可知,我实现的主要功能: 用户注册 用户登录 添加图书 查询图书 删除图书 修 ...

  3. MATLAB输出串口发送所需十六进制数据

    MATLAB输出串口发送所需十六进制数据   在FPGA设计过程中,有时需要与MATLAB进行联合调试,需要从MATLAB导出数据,再从PC端通过串口发送给FPGA,对数据进行处理后再返回PC端.串口 ...

  4. 从Oracle导出数据到TXT文件从TXT文件导入数据到Oracle

    如果是txt文件的数据导入oracle中,数据量大的话用pl/sql会卡死,那么就要用到sqlload命令. 前两天在做一个不算任务的任务,用shell脚本将数据库中的数据导出到文件,在万能的百度上找 ...

  5. python怎么读取中文文件-Python中使用不同编码读写txt文件详解

    复制代码 代码如下: import os import codecs filenames=os.listdir(os.getcwd()) out=file("name.txt",& ...

  6. python接口自动化参数化_Python读取txt文件数据的方法(用于接口自动化参数化数据)...

    小试牛刀: 1.需要python如何读取文件 2.需要python操作list 3.需要使用split()对字符串进行分割 代码运行截图 : 代码(copy) #encoding=utf-8 #1.r ...

  7. python从txt拿取数据_python从txt文件读取数据

    (作为一个python初学者,记录一点学习期间的笔记,方便日后查阅,若有错误或者更加便捷的方法,望指出!) 1.读取TXT文件数据,并对其中部分数据进行划分.一部分作为训练集数据,一部分作为测试集数据 ...

  8. python 怎么表示sqlserver null_如何使用Python将sqlserver查询输出写入.txt文件?

    我是Python新手,尝试连接到sqlserverdb并将查询的输出转换成一个flat.txt文件.在 一些代码正在工作,但是只写了将近1000条记录,然后就停止了.在 Python版本:2.7.13 ...

  9. python文本数据处理_python 数据处理 对txt文件进行数据处理

    原博文 2019-10-19 17:30 − 数据: 对txt文件进行数据处理: txt_file_path = "basic_info.txt" write_txt_file_p ...

最新文章

  1. JavaScript权威指南(第六版) 初读笔记
  2. East Central North America Region 2015
  3. jQuery插件开发全解析
  4. [转]机器视觉开源代码集合
  5. 010-映射诊断环境
  6. 互斥信号量解决任务间资源共享问题
  7. 第二阶段_第二小节_C#调试
  8. mysql 日期函数大全_MYSQL 日期函数大全
  9. 三位数流水码的生成(000·····009··00A····00Z····ZZZ)
  10. 人月神话读感/摘抄 四
  11. 想通过好的商业模式赚钱,应该钻研“道”还是“术”呢?
  12. cte公用表表达式_在SQL Server中使用CTE进行插入和更新(公用表表达式)
  13. ThinkPHP框架 _ 学习11
  14. [C#]关于逆变与协变的基本概念和修饰符in与out的意义
  15. 对 String 字符串的理解
  16. PHP内置函数parse_str会自动进行urldecode(URL解码)
  17. Wireshark系列之7 利用WinHex还原文件
  18. 项目管理实战课程总结
  19. android如何局域网通信,android局域网怎么通信
  20. Ubuntu软件下载速度慢解决

热门文章

  1. 北京内推 | 微软亚洲研究院机器学习组招聘说话人脸生成方向研究实习生
  2. 计算机考证需要报电脑培训班吗
  3. 正则表达式 bs4解析 xpath解析
  4. 在启动Tomcat 6.0时发现第一条信息便是: The Apache Tomcat Native library which allows optimal performance in produc
  5. Likely Unlikely 原理与用法
  6. 计算机多媒体教室维修登记册,专用教室管理制度_专用教室管理制度范文
  7. HTML5+CSS网页设计——文字样式属性
  8. 裁员 or 缩招,AI 四起,你的工作还好吗?
  9. 网曝苍南发生城管打人事件
  10. php制作简单计算器,二、php制作简易的计算器