【问题标题】:numpy function IOErrornumpy 函数 IOError
【发布时间】:2013-12-16 18:21:52
【问题描述】:

在我运行 OSX Mavericks 的 macbook air 上(我几乎可以肯定前几天在运行几乎相同代码的运行 Windows 7 的 PC 上不会发生这种情况)下面的代码给了我以下错误。

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)

massfile 按预期打印为'Users/BigD/Dropbox/PhD/PPMS/DATA/DB/HeatCap/HeatCapMass.txt'

但我得到了错误

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'

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

有谁知道为什么会发生这种情况或可以建议解决方法吗?

【问题讨论】:

    标签: numpy genfromtxt


    【解决方案1】:

    您在 massFile 中提供的路径与您在其中执行脚本的目录相关。

    要查看您的位置,只需在您的 shell 中输入 pwd。在您的情况下,它将返回 /Users/BigD/Dropbox/PhD/PPMS/。所以这个值会默默地添加到你的路径中:

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

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

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

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

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

    或者为了保持相对,你必须删除不需要的位:

    massFile='DATA/DB/HeatCap/HeatCapMass.txt'
    

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

    【讨论】:

    • 奇怪的是,斜线在回溯中。
    • 不,不是。请注意/Users/BigD/Dropbox/PhD/PPMS 两次是怎么说的?
    • 哦。正确的。但这是为什么呢?啊,因为它是相对的,我现在明白了。 +1!
    • 因为您提供的路径是相对的。我会扩展我的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多