Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
 
 
主题工具 显示模式
旧 2019-12-14, 20:13   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 使用系统调用从MATLAB执行python脚本时出现问题

我有一个MATLAB函数,需要与python代码通信(不迅速且不经常)。我有MATLAB将数字写入文件。 Python读取文件,进行一些计算,然后将一些结果写入另一个文件。然后,MATLAB会读取该文件并继续进行。

我遇到的问题是当我想从MATLAB执行python脚本时。过去我发现仅在MATLAB中执行系统调用就足够了:
系统('python myscript.py')

但是,当它到达python脚本中的那一点时,似乎不喜欢numpy函数'loadtxt':
NameError:未定义名称“ loadtxt”

我正在定义它(从numpy import *)。如果我只是从终端执行脚本,它会使用loadtxt读取文件。只有当我使用系统调用执行脚本时,才会出现该错误。 python .py文件与进行系统调用的MATLAB .m文件位于同一目录中。我已经使用相同的方法在没有loadtxt的情况下执行了其他脚本。

有什么建议么?



回答:

似乎您正在使用OSX。强烈建议不要尝试弄乱要在OS X中使用的python解释器的全局定义。

您可能可以直接调用所需的解释器。因此,无需调用system('python myscript.py') ,而是将所需解释器的完整路径放入变量中并调用:

system([use_this_python ' myscript.py']) 或类似的东西。

确切地说,您想确定要使用哪种python解释器,这是您和使用它的任何人之间的方式。也许默认情况下它只是调用“ python”,但允许用户通过配置文件指定一些任意的解释器。



更多&回答...
poster 当前离线   回复时引用此帖
 

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 05:13


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.