当前位置: 首页 > 面试题库 >

如何连接Python和C程序?

孔光赫
2023-03-14
问题内容

我有一个基于python的程序,该程序从连接到rs232电缆的端口读取串行数据。我想将此处获得的数据传递给C程序,该程序将处理计算密集型方面。我一直在检查网络,发现的所有内容都是基于Linux的。


问题答案:

使用管道并弹出

解决此问题的最简单方法可能就是使用popen(3)。该popen函数在Python和C中都可用,并且将使用管道将任何一种语言的程序与另一种语言连接。

>>> import subprocess
>>> print args
['/bin/vikings', '-input', 'eggs.txt', '-output', 'spam spam.txt', '-cmd', "echo '$MONEY'"]
>>> p = subprocess.Popen(args)

有了管道后,您可能应该通过它发送yaml或json,尽管我从未尝试使用C进行读取。如果它确实是一个简单的流,请自己解析。如果您喜欢XML,我想也可以使用。



 类似资料:
  • 我是C语言的新手,但对JavaEE有很多经验。 我需要编写一个非常异步的小应用程序。它从HTTP接收数据并将其存储在队列中(它需要有保证的传输和非常高的吞吐量),比如ActiveMQ或OpenMQ,可能通过JMS。 然后另一个C应用程序/监听器从队列中取出数据(通过某个监听器,该监听器由队列直接激活,而不是通过我的池激活),连接到MySQL数据库,进行一些业务逻辑计算,并将消息发送到另一个队列。

  • 问题内容: 如果我尝试执行以下操作: …以及Python 2.x中的类似错误: 我该如何解决这个问题? 问题答案: 这里的问题是运算符在Python中(至少)具有两种不同的含义:对于数字类型,这意味着“将数字加在一起”: …,对于序列类型,它的意思是“连接序列”: 通常,Python不会为了使操作“有意义”而隐式地将对象从一种类型转换为另一种类型1,因为这会让人困惑:例如,你可能认为应该表示,但其

  • 问题内容: 我有一个令人尴尬的并行任务,我使用Spark来分配计算。这些计算是在Python中进行的,我使用PySpark读取和预处理数据。我任务的输入数据存储在HBase中。不幸的是,我还没有找到一种令人满意的(即易于使用且可扩展)的方式,可以使用Python从/向Spark读取/写入HBase数据。 我之前探讨过的内容: 使用从我的Python进程内部进行连接。该软件包允许使用HBase的Th

  • 本文向大家介绍C#程序拆分和连接字符串,包括了C#程序拆分和连接字符串的使用技巧和注意事项,需要的朋友参考一下 要在C#中拆分和连接字符串,请使用and方法。让我们说以下是我们的字符串- 为了分割字符串,我们将使用方法- 现在开始联接,使用方法并联接字符串的其余部分。在这里,我们使用方法跳过了字符串的一部分- 示例 您可以尝试在C#中运行以下代码以拆分和连接字符串。 输出结果

  • 我试图建立一个SSL连接到赛贝斯ASE 15.7使用JDBC驱动程序没有运气。我尝试了以下选项: > 使用JTDS 1.25驱动程序(jtds-1.2.5.jar) 使用以下连接字符串: 我收到 使用jconnect4(jconn4.jar) 使用以下连接字符串: jdbc:sybase:Tds:host:port/dbname?ENABLE_SSL=true 我得到了

  • 我可以附加到docker进程,但Ctrl+C不能从它分离。基本上停止进程。 要使流程运行、偶尔附加到它以进行一些更改,然后分离,推荐的工作流是什么?