Python中文
首页
教程
问答
标签
搜索
登录
注册
在Linux上将终端程序从Bash迁移到Python
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我要处理的是一个工业环境,我必须记录现场串行设备的读数。我当前的设置包括连接到Moxa 5150A或5130串行设备服务器的设备,该服务器通过有线或无线方式连接到我的网络,具体取决于单个设备的位置。目前,我依靠硬件供应商的软件来管理数据收集。目前的软件是基于windowsx86的,由于以前的硬件故障,我们购买的新硬件上的麻烦不断。我选择Moxa串行服务器是为了它们的linux驱动程序和兼容性。该设备通过RS-422(4线半双工)7位1站奇偶校验和无流量控制进行通信,除非请求,否则不发送任何信息。在</p> <p>我正在开发我自己的解决方案,将信息存储在数据库中(可能是MySQL)。就终端通信而言,这是两部分。我必须发送请求并接收响应。在</p> <p>到目前为止,我已经在我的linux服务器上安装了串行服务器的Moxa驱动程序。我编写了一个bash脚本,从/dev/ttyrXX设备读取,解释输入并将信息加载到mysql数据库中。在</p> <pre><code> while read line do something something.... done < /dev/ttyrXX </code></pre> <p>我仍然在解决一些小的脚本错误,比如当设备脱机时重新启动,然后重新联机,以及其他类似的问题,但是我的脚本在我需要的范围内读取和记录我的数据。在</p> <p>这个解决方案依赖于两个因素。在</p> <p>1)Moxa设备支持FIFO并允许同时进行多个连接</p> <p>2)在单独的windows计算机上运行的供应商提供的软件当前正在提交信息请求。在</p> <p>我需要删除所有基于windows的软件。我编写并测试了一个脚本,该脚本打印到/dev/ttyrXX,发出我想要的请求,并接收到相应的响应,并按照我的第一个脚本的要求将它们记录下来。在</p> ^{pr2}$ <p>我在使用供应商提供的软件时遇到的一个主要问题是,它的硬编码依赖于接收对每个请求的及时响应。这会产生许多问题,包括完全冻结窗口和设备在不合适的时间停止服务时崩溃。在</p> <p>我的两个脚本协同工作,以一个明显更好的间隔收集数据,并且更少的人为干预。在</p> <p>这是我的问题。我可以在Python中使用什么方法来获得与Bash脚本类似的结果?在</p> <p>我找不到一个与printf或cat等价的Python,它不需要我打开/关闭文件。此外,我看过的每一个终端接口都有内置的或需要等待响应或读取的功能,等待很长时间才放弃。我确信那里确实存在着某种东西,我只是没有找到它的运气。我承认我是Python的新手,没有写过几行代码来探究它的能力。在</p> <p>让我说清楚。我想写我的终端时,不关心任何其他事情(使用线程或单独的脚本,我不在乎)。我想在我的终端上阅读,而不在乎下一段文字何时到来。(我并不是建议一个永无止境的循环,但我确实需要它来支持和等待输入)。我想让我的书信往来完全独立,不关心对方昨天、现在或下周在做什么。在</p> <p>提前谢谢你。在</p> <p>如果有必要,我将能够提供更详细的代码,但是我觉得我更需要的是在我的搜索方向,而不是错误修复。尽管我仍然完全接受建议和“永远不要这样做…”。。。。因为这个…“输入</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>听起来你想打开一个文件进行读/写,然后依次读取每一行。在</p> <pre><code>with open(..., 'r+') as dev: for line in dev: ... print >>dev, 'foo' </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
当启用身份验证时,超过一定大小的http发布失败
5 回答
当呈现Flask温度时,bokeh图为空
3 回答
当呈现模板时,如何引用sqlalchemy中的自定义字段?
6 回答
当周围有更多相同类型的标记时,如何从一个标记中提取数据
3 回答
当周数跨越多个y时,如何使用Pandas groupby week
6 回答
当呼唤django和python提示时
7 回答
当命令`Brew installPython@2`然后出现错误“Theme error”。如何解决?
5 回答
当命令[1]不存在时,用户输入命令以列出超出范围的索引
5 回答
当命令/启动被发送到bot时,bot应该删除发送给组的标签;但是bot没有
10 回答
当命令lin执行时,导入datetime会在Python脚本中引发ModuleNotFound“math”
9 回答
当命令中提到Bot时,Bot发送其前缀
3 回答
当命令位于DM中时,Python Discord.py bot将角色分配给服务器中的用户
4 回答
当命令在discord.py中缺少必需的参数时,如何显示消息
7 回答
当命令在多个不同的服务器上处于活动状态时,如何在discord.py上使用while循环
1 回答
当命令在提示符下成功运行时,Python subprocess.check_输出产生错误
2 回答
当命令提示时自动按键按回车键
5 回答
当命令提示符意外关闭时,如何访问python虚拟环境?
2 回答
当命令提示符给出导入错误时,当我尝试运行服务器python文件时,需要进行什么更改?
6 回答
当命令有双引号时,如何从python运行windows命令行命令
2 回答
当命令的一部分来自用户inpu时在linux服务器上执行命令的安全方法
1 回答