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

如何在仅修改运行文件的情况下跨模块传递Python函数返回值?

解决方案:不修改原文件实现变量传递

核心思路:通过**猴子补丁(Monkey Patching)**修改Firstfile模块中的file_path函数,让它在无参调用时返回你在运行文件中传入的路径值,同时保留原函数传参时的功能。

修改后的运行文件代码:

import Firstfile

# 传入目标路径并保存函数返回值
i = "C:\\Users\\Hp\\Desktop\\1.jpg"
saved_fpath = Firstfile.file_path(i)

# 定义补丁函数,兼容无参/有参调用
original_file_path = Firstfile.file_path
def patched_file_path(fpath=None):
    if fpath is None:
        return saved_fpath
    return original_file_path(fpath)

# 替换Firstfile模块中的原函数
Firstfile.file_path = patched_file_path

# 导入Secondfile,此时它调用file_path()会自动获取已保存的路径
import Secondfile

说明

  • 先调用原file_path函数获取你需要的路径并保存,再定义补丁函数:无参调用时返回已保存的路径,有参调用时仍执行原函数逻辑,确保不破坏原函数的其他使用场景。
  • 必须在导入Secondfile之前完成函数替换,这样Secondfile中导入的file_path就是补丁后的版本,调用file_path()时会直接返回你指定的路径,不会触发参数缺失错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 00:09:20