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

Android端Replit中Java调用Python计算器返回Null问题排查及解决

Android Replit中Java调用Python计算表达式返回Null的解决方法

问题背景

在Android设备上用Replit开发计算器,实现逻辑是:

  • 用Java接收用户输入的表达式,写入expression.txt文件
  • 调用Python脚本读取该文件内容完成计算,返回结果
    但实际运行后,返回的计算结果始终是Null

排查步骤

  • 尝试切换用ProcessBuilder执行命令、修改calculate.py的路径配置,都没解决问题
  • 移除权限命令chmod -R 777后,出现新错误:java.io.IOException: Cannot run program "python": error=2, No such file or directory
  • 测试dir、ls、echo这类基础系统命令,都能正常执行,排除环境执行命令的基础问题

问题根源与修复

最终定位到Python脚本的文件读取模式错误:

  • 最初脚本用a+模式打开expression.txt,这个模式会自动将文件指针移到文件末尾,导致读取不到Java刚写入的表达式内容,自然返回Null
  • 将文件打开模式改为r+后,Python脚本可以正常读取到文件中的表达式内容,计算结果也能正确输出

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 11:57:05