You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从正在运行的Python脚本中获取实时更新的变量值

问题解答

原有思路可行性判断

你的思路不可行。Python中两个独立运行的脚本属于完全隔离的进程,各自拥有独立的内存空间,变量无法直接跨进程共享。
你执行monitor.py时,from mainbot import x的逻辑是:将mainbot.py作为模块加载执行,拿到加载完成时刻的x值副本存储到monitor.py的进程内存中,这个过程和你之前单独启动运行的mainbot.py进程没有任何关联,自然拿不到实时更新的x。

实现方案

最简单的实现方式是用本地文件作为中间缓存做数据同步,复杂度低且能满足需求:

步骤1:修改mainbot.py,每次更新x后写入缓存文件

import time
import json

x = [1,2,3,4] # Existing list

for i in range (5,5000):
    x.append(i)
    # 每次更新x后同步写入缓存文件
    with open("x_cache.json", "w", encoding="utf-8") as f:
        json.dump(x, f)
    time.sleep(5)
    print(x)

步骤2:修改monitor.py,读取缓存文件获取最新x值

如果只需要单次获取最新值:

import json

with open("x_cache.json", "r", encoding="utf-8") as f:
    x = json.load(f)
print(x)

如果需要持续监控实时值:

import json
import time

while True:
    with open("x_cache.json", "r", encoding="utf-8") as f:
        x = json.load(f)
    print(f"当前x的最新值:{x}")
    time.sleep(1) # 可根据需求调整刷新间隔

如果有更高性能要求或者跨设备同步需求,也可以改用Socket通信、Redis中间件等方案实现。

内容的提问来源于stack exchange,提问作者Χρήστος Γεωργίου

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 09:39:03