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

Dymola 2022启动目录行为分析及Python接口端启动阶段控制方法问询

Dymola 2022 Python接口启动工作目录行为说明

行为成因

该行为是Dymola原生设计和操作系统子进程规则共同作用的结果:

  • 当Tools > Options > Settings > Save startup directory设置为Do not save时,Dymola作为Python启动的子进程,默认会继承父进程(即Python解释器)的工作目录。Python解释器的工作目录为脚本执行时的终端/IDE工作路径(如你示例中VSCode打开的.\project目录),和脚本文件本身的存放路径无关,这是Windows、Linux等主流操作系统的通用子进程规则。
  • 当设置为Save this directory > 固定路径时,Dymola启动时会优先读取该配置项的路径,直接覆盖继承的父进程工作目录,因此工作目录会稳定保持为你设置的路径。

启动阶段配置工作目录的方法

无需等待实例化完成后调整,以下两种方法均可在Dymola启动阶段直接完成工作目录配置:

方法1:提前修改Python进程的工作目录

在Do not save模式下,Dymola会继承Python的工作目录,你只需要在实例化Dymola之前修改Python自身的工作目录即可,示例代码:

import os
from dymola.dymola_interface import DymolaInterface

# 先切换Python的工作目录到目标路径
target_work_dir = r"C:\Users\你的用户名\Documents\Dymola"
os.chdir(target_work_dir)

# 再实例化Dymola,启动后工作目录直接为target_work_dir
dymola = DymolaInterface()

方法2:实例化时直接传入工作目录参数

Dymola Python接口的DymolaInterface构造函数原生支持working_directory参数,该参数优先级高于Dymola自带的启动目录配置和Python当前工作目录,直接指定即可在启动阶段完成配置,示例代码:

from dymola.dymola_interface import DymolaInterface

target_work_dir = r"C:\Users\你的用户名\Documents\Dymola"
# 实例化时直接指定启动工作目录
dymola = DymolaInterface(working_directory=target_work_dir)

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

相关产品推荐
方舟 Agent Plan

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

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