如何使用 python 3x 从两个单独的运行 python 文件发送数据

Posted

技术标签:

【中文标题】如何使用 python 3x 从两个单独的运行 python 文件发送数据【英文标题】:How to send data from two separate running python files using python 3x 【发布时间】:2018-02-16 07:07:13 【问题描述】:

我主要发布这个,因为我不确定多处理库是否可用于 python 3x,如果不是这种情况,我需要一些允许一个 python 脚本尽可能干净有效地发送数据的东西其他。它们是分开的,所以我不能使用 import 调用其中一个。

为了更详细地解释它,我必须使用 discord.py 库运行机器人,因此我不能使用函数或类在另一个下运行一个,但我想在它们之间传递数据,这样它们就可以在没有通信的情况下进行通信必须写入文件或在聊天中输入提交内容。

【问题讨论】:

docs.python.org/3/library/ipc.html 【参考方案1】:

您正在寻找的是进程间通信

它们聚集在https://docs.python.org/3/library/ipc.html - 您可以将 depper 挖掘到模块 signal 或 mmap - 使用您选择排除的内存映射文件。


我只使用过named pipes - 两个程序使用相同的名称并通过命名管道进行通信:

FIFO 是可以像常规文件一样访问的管道。 FIFO 在被删除之前一直存在(例如使用 os.unlink())。通常,FIFO 用作“客户端”和“服务器”类型进程之间的集合点:服务器打开 FIFO 进行读取,客户端打开 FIFO 进行写入。请注意,mkfifo() 不会打开 FIFO——它只是创建集合点。 可用性:Unix。(从上面的链接引用)

对于 Windows 使用:win32pipewin32filewin32api - 请参阅 Windows named pipes in practice)

可以在该问题的answer 中找到一个 unix 示例:Python read named PIPE

【讨论】:

以上是关于如何使用 python 3x 从两个单独的运行 python 文件发送数据的主要内容,如果未能解决你的问题,请参考以下文章

python同时有两个代码,如何只运行一个

如何从同一资源运行两个函数(绘图图形并将无限数据保存到txt文件)

运行从 PowerShell 显式获取参数的 Python 函数(无需单独传递参数)

如何使用 QProcess 同时运行多个 python 脚本

Matplotlib 在保存时将两个单独的图形压缩为一个

matlab中conv()是啥意思?