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

WSL环境下如何在Jupyter Notebook保存MPB代码输出为.out文件

在WSL的Jupyter Notebook中保存MPB运行结果到.out文件的方法

当然可以实现,但直接在Notebook代码单元格里敲带unix%的原命令不行,得用以下几种方式:

  • 方式一:用Jupyter的shell命令前缀执行外部脚本
    去掉命令里的unix%提示符,在Notebook的代码单元格里输入:

    !python mpb_tri_rods.py >& tri-rods.out
    

    解释:!是Jupyter中执行shell命令的专用前缀,>&是bash的语法(WSL默认用bash),能把程序的标准输出和错误信息都重定向到tri-rods.out文件里。

  • 方式二:直接在Notebook代码中重定向输出
    如果你的MPB代码是直接写在Notebook单元格里,没单独存成mpb_tri_rods.py,可以用Python的sys模块手动重定向输出流:

    import sys
    import mpb
    
    # 先保存原本的输出和错误流,避免后续Notebook输出异常
    original_out = sys.stdout
    original_err = sys.stderr
    
    # 打开目标文件,把输出和错误都写入
    with open('tri-rods.out', 'w') as output_file:
        sys.stdout = output_file
        sys.stderr = output_file
        
        # 这里写你的MPB求解代码示例
        sim = mpb.MPB()
        # ... 配置仿真参数 ...
        sim.run()
    
    # 恢复原本的输出流
    sys.stdout = original_out
    sys.stderr = original_err
    
  • 验证文件生成
    执行!ls命令就能在Notebook里查看当前目录是否生成了tri-rods.out,也可以直接在WSL的文件管理器里找到对应文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 18:07:05