首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >numpy函数IOError

numpy函数IOError
EN

Stack Overflow用户
提问于 2013-12-16 18:21:52
回答 1查看 834关注 0票数 0

在我的macbook上运行OSX小精灵(我几乎可以肯定,前几天在运行运行几乎相同代码的Windows 7的PC上没有发生这种情况),下面的代码给出了下面的错误。

代码语言:javascript
复制
import numpy as np

massFile='Users/BigD/Dropbox/PhD/PPMS/DATA/DB/HeatCap/HeatCapMass.txt'
print massFile

sampleInfo=np.genfromtxt(fname=massFile,skip_header=2,usecols=(2,3,4),dtype=float)

按预期以'Users/BigD/Dropbox/PhD/PPMS/DATA/DB/HeatCap/HeatCapMass.txt'的形式打印海量文件

但我明白错误

代码语言:javascript
复制
Traceback (most recent call last):
  File "test.py", line 7, in <module>
    sampleInfo=np.genfromtxt(fname=massFile,skip_header=2,usecols=(2,3,4),dtype=float)
  File "//anaconda/lib/python2.7/site-packages/numpy/lib/npyio.py", line 1317, in genfromtxt
    fhd = iter(np.lib._datasource.open(fname, 'rbU'))
  File "//anaconda/lib/python2.7/site-packages/numpy/lib/_datasource.py", line 145, in open
    return ds.open(path, mode)
  File "//anaconda/lib/python2.7/site-packages/numpy/lib/_datasource.py", line 477, in open
    return _file_openers[ext](found, mode=mode)
IOError: [Errno 2] No such file or directory: '/Users/BigD/Dropbox/PhD/PPMS/Users/BigD/Dropbox/PhD/PPMS/DATA/DB/HeatCap/HeatCapMass.txt'

它似乎试图使用一半的路径,然后将完整的路径文件添加到它的末尾。

有人知道为什么会发生这样的事情吗?或者可以建议周围的工作吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-16 18:27:22

您在massFile中提供的路径相对于正在执行脚本的目录。

要了解您所在的位置,只需在shell中键入pwd即可。在您的示例中,它将返回/Users/BigD/Dropbox/PhD/PPMS/。因此,这个值被悄悄地加到您的路径中:

代码语言:javascript
复制
massFile='/Users/BigD/Dropbox/PhD/PPMS/Users/BigD/Dropbox/PhD/PPMS/DATA/DB/HeatCap/HeatCapMass.txt'

这也是你在回溯中看到的值。

有两种方法可以解决这个问题:

若要将路径标记为绝对,只需在路径前缀加上/

代码语言:javascript
复制
massFile='/Users/BigD/Dropbox/PhD/PPMS/DATA/DB/HeatCap/HeatCapMass.txt'

或者,为了保持它的相对关系,您必须删除不需要的部分:

代码语言:javascript
复制
massFile='DATA/DB/HeatCap/HeatCapMass.txt'

我建议选择后者,这样您就可以在不破坏所有路径的情况下移动项目。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20618010

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档