从外部脚本或命令修改/访问python实例

2024-04-18 15:30:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个运行的python主代码(在启动时),其中有一个类的实例。我希望能够修改这个实例(其参数),当我想(作为一个用户)。这样做的目的是能够在不干扰主代码的情况下修改它,或者每2秒钟强制它读取一个外部脚本。因此,我可以运行bash命令或新的python脚本来修改在主运行脚本中创建的这个实例

我使用Python3,并且已经尝试了不同的方法:

  • 编写一个方法,用一个打开的套接字监听实例对应的类。对我来说似乎太过分了
  • 可以使用诸如ctypes和id之类的工具从实例的内存地址访问实例。但是我用这种方法得到了错误(分段错误)

从终端1:

>>> a='c'
>>> hex(id(a))
'0x7fc9f825a378'

从终端2:

>>> import ctypes
>>> d = (ctypes.c_char).from_address(0x7fc9f825a378)
>>> d
Segmentation fault (core dumped)

那么,如何以用户的身份修改我的archlinux操作系统运行脚本中的实例呢

非常感谢您抽出时间


Tags: 实例方法代码用户命令目的脚本bash
1条回答
网友
1楼 · 发布于 2024-04-18 15:30:58

我确实看过所有关于python共享内存的资料。但是,我没有找到任何解决方案,只是在我的POSIX系统上共享一个字典或一个“normal”数组

  • sysv_ipcposix_ipc对字符串使用缓冲区,使一切变得复杂(需要解析)

  • 多处理允许这样做,但是从同一个脚本,没有id/键可以从另一个python实例访问它

  • SharedArray使用numpy数组

您知道一个共享内存的python库,它允许简单地共享一个对象,比如dictionary或normal list吗

谢谢你的时间

相关问题 更多 >