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

如何从64位Python进程访问32位进程生成的date变量?

需求可行性及实现方案

这个需求完全可行,有多种实现方式,其中用JSON文件共享数据是最省心的方案,当然也可以选择其他进程间通信方式,具体如下:

一、JSON文件共享(最推荐)

因为data.py是定期运行的,每次生成或更新date变量后,直接把格式化好的d/m/Y字符串写入JSON文件,main.py在无限循环里定期读取这个文件即可,跨32/64位环境完全没有问题。

示例代码

  • 32位环境的data.py:
import datetime
import json

# 生成目标date变量
date = datetime.datetime.now()
# 将格式化后的日期写入JSON文件
with open("date_data.json", "w", encoding="utf-8") as f:
    json.dump({"formatted_date": date.strftime("%d/%m/%Y")}, f)
  • 64位环境的main.py读取逻辑:
import json
import time

while True:
    try:
        with open("date_data.json", "r", encoding="utf-8") as f:
            data = json.load(f)
            formatted_date = data["formatted_date"]
            print(f"获取到的日期:{formatted_date}")
    except FileNotFoundError:
        print("暂未获取到日期数据")
    # 每隔一段时间读取一次,周期和data.py的运行频率匹配即可
    time.sleep(60)

这种方式的优点是实现简单,不需要处理复杂的进程通信逻辑,容错性也强——就算某一次data.py运行失败,main.py最多只是读取旧数据或提示未获取到,不会崩溃。

二、其他可选方案(适合实时性要求更高的场景)

如果不想用文件,也可以通过以下方式实现跨进程数据传递,但复杂度更高,你的需求是定期运行,其实没必要:

  • 本地套接字:main.py启动一个本地socket服务端,data.py每次运行时作为客户端连接服务端,把日期数据发送过去。
  • 命名管道:在系统中创建一个命名管道,data.py往管道写数据,main.py从管道读取。
  • 共享内存:利用Python的multiprocessing模块或第三方库实现跨进程共享内存,但要注意32/64位环境下内存地址的兼容性,实现起来最麻烦。

总结

如果只是定期获取date变量,直接用JSON文件共享是最优解,完全能满足你的需求,不需要折腾更复杂的方案。

内容的提问来源于stack exchange,提问作者Py_trader

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 08:55:31