gpt4 book ai didi

MATLAB 使用!使用自定义路径运行程序

转载 作者:行者123 更新时间:2023-12-02 04:34:03 25 4
gpt4 key购买 nike

我想运行这行代码。它将在我的计算机上运行 PyMOL,$PATH 是一个变量,用于保存正在运行的程序的当前目录。

 pdbpath = [mfilename('fullpath'), '1AKI.pdb']
setenv('PATH', pdbpath)
!//Applications/MacPyMOL.app/Contents/MacOS/MacPyMOL $PATH

这不起作用; PyMOL 将运行,但将输入逐字记录为 $PATH,而不是 $PATH 设置的内容,因为 !在MATLAB中似乎是一个特殊的东西。如何在 MATLAB 中打开具有可自定义路径的程序?

编辑:另外,我如何处理路径中的空格?由于路径未知(这就是我首先编写此内容的原因),它可能具有“程序文件”,这对命令行输入不利。

最佳答案

您真的需要将 PATH 变量作为环境变量吗?通常,已经有一个,您现在可以覆盖......

如果没有,

pdbpath = ['"' fileparts(mfilename('fullpath')), '1AKI.pdb"']
system(['//Applications/MacPyMOL.app/Contents/MacOS/MacPyMOL ' pdbpath]);

如果是,

setenv('PATH', ['"' fileparts(mfilename('fullpath')), '1AKI.pdb"']);
system(['//Applications/MacPyMOL.app/Contents/MacOS/MacPyMOL ' getenv('PATH')]);

路径和文件名中的空格的处理方式与系统命令行相同(即与 MATLAB 无关)。我在 pdbpath 变量的定义中添加了引号,这在 Windows、Mac 和 *nix 上都应该可以解决问题。

另一种选择是转义所有空格 ('\'),就像 Divakar 所做的那样,但这仅适用于 *nix 系统 AFAIK, 仅适用于空格...路径上可能还有其他“不方便”的字符,你知道:)

关于MATLAB 使用!使用自定义路径运行程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22396259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com