【发布时间】:2018-08-02 14:58:08
【问题描述】:
我一直致力于将代码翻译成 Matlab。该代码使用了一些存储在 .mat 文件中的数据。我一直在写这个:
mat_file = sio.loadmat('USGS_1995_Library.mat')
datalib = mat_file['datalib']
names = mat_file['names']
尝试打开和存储文件。但是,每次我运行代码时,都会出现一条错误消息,提示“没有这样的文件或目录:'USGS_1995_Libary.mat”。我已确保该文件与代码位于同一文件夹中。如果有什么不同,我一直在尝试在 iPython 中运行代码。
我不确定我是否错误地使用了 loadmat,或者文件本身没有按应有的方式工作,或者 loadmat 本身是否无法执行我要求它执行的操作。
有人对我可以解决此问题的方法有任何建议吗?
谢谢!
【问题讨论】:
-
您在运行时的工作目录可能不是您认为的那样。脚本的位置不是解析路径时使用的位置,而是运行它的位置。尝试在您的脚本中打印
os.path.abspath(os.curdir)的结果,以确认您的运行时工作目录是什么。除此之外,一般来说,使用文件的绝对路径而不是相对文件通常是一个好主意。 -
在
ipython中,您可以使用$ls或$ls USGS_1995_Library.mat来检查文件是否存在于当前工作目录中。%pwd也显示目录。
标签: python matlab scipy ipython