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

Google Compute Engine Python如何获取当前工作目录并访问指定json文件

解决方案

核心原因说明:os.getcwd() 返回的是Python进程启动时的终端工作目录,和脚本本身的存储位置没有关联,你启动Web应用的工作目录刚好是/workspace,所以才会获取到该值,无法直接用这个路径定位目标文件。
以下是3种可直接落地的可行方案:

方案1:通过脚本自身路径定位目标目录(最稳定,不受启动路径影响,优先推荐)

在pscript.py中用Python内置的__file__变量获取当前脚本的绝对路径,再逐层推导到/home/project目录即可,示例代码如下:

import os

# 获取当前脚本的绝对路径
script_abs_path = os.path.abspath(__file__)
# 当前脚本所在目录是 /home/project/gsuite,向上回溯一级就能得到 /home/project
project_dir = os.path.dirname(os.path.dirname(script_abs_path))
# 拼接得到json文件的完整路径,将下面的xxx.json替换为你实际的json文件名即可
json_file_path = os.path.join(project_dir, "xxx.json")

# 直接用拼接好的路径读取文件
with open(json_file_path, "r", encoding="utf-8") as f:
    config_content = f.read()

方案2:启动脚本时手动指定工作目录

启动Web应用时,先切换到/home/project目录再执行脚本,此时os.getcwd()就会返回/home/project,启动命令示例:

cd /home/project && python3 ./gsuite/pscript.py

如果你是用systemd、supervisor等工具托管Web服务,直接在服务配置的对应位置添加WorkingDirectory=/home/project配置项即可生效。

方案3:直接写死绝对路径(仅适合临时测试用)

如果你的部署路径固定不会调整,可以直接硬编码json文件的绝对路径:

json_file_path = "/home/project/xxx.json"

注意:生产环境尽量不要用该方案,后续部署目录调整时容易出现路径错误。

内容的提问来源于stack exchange,提问作者Prashantkumar K B

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 07:15:05