vps交流

大佬们,两个Python文件通过什么共享对象呢?


可以通过监听两个不同的端口然后互相传递JSON,或 通过数据库 Redis  txt文件  传递json 都行

Salta 发表于 2022-7-22 21:58
可以通过监听两个不同的端口然后互相传递JSON,或 通过数据库 Redis  txt文件  传递json 都行 …

关键有的对象不是字符串 字典 或者json,就很烦。例如mysql连接对象

呆呆的游客 发表于 2022-7-22 22:03
关键有的对象不是字符串 字典 或者json,就很烦。例如mysql连接对象

Python我没学过,但我也有好几种解决方案,例如 拿一个Python进程专门操作数据库,其他进程想要操作数据库通过这个专门操作数据库的进程来操作,即可共享mysql连接对象。

multiprocessing.shared_memory — Shared memory for direct access across processes

https://docs.python.org/3/library/multiprocessing.shared_memory.html

这个有用么?

还有,Python本来就是多线程编程,难道没有提供多线程共享内存或多线程连接池的官方解决方案么,不可能吧?   所以是你的问题,你多研究研究,我确实没学过Python 哈哈
Easy concurrency with Python Shared Object

https://habr.com/en/post/585320/

https://github.com/byko3y/python-shared-objects

import大佬们,两个Python文件通过什么共享对象呢?
pickle

脚本1 操作之后,用pickle导出
脚本2 导入pickle 继续操作

yy10112001 发表于 2022-7-22 23:00
pickle

脚本1 操作之后,用pickle导出

这个样子吗?

producer.py:

  1. import pickle
  2. shared = {"Foo":"Bar", "Parrot":"Dead"}
  3. fp = open("shared.pkl","w")
  4. pickle.dump(shared, fp)

复制代码

consumer.py:

  1. import pickle
  2. fp = open("shared.pkl")
  3. shared = pickle.load(fp)
  4. print shared["Foo"]

复制代码