【问题标题】:Problems with file path文件路径问题
【发布时间】:2018-03-02 04:41:14
【问题描述】:

我正在尝试从以下路径加载文件:

path = 'C:/Users/Aman/Alzheimer/test-network/ADNI1_Complete_1Yr_1.5T/ADNI/002_S_0685/MPR__GradWarp__B1_Correction__N3__Scaled/2006-07-06_10_36_49.0/ADNI_002_S_0685_MR_MPR__GradWarp__B1_Correction__N3__Scaled_Br_20070216235850690_S16309_I40683.nii'

但是,文件没有加载。如果我将文件 1 向上移动并将路径更改为

path = 'C:/Users/Aman/Alzheimer/test-network/ADNI1_Complete_1Yr_1.5T/ADNI/002_S_0685/MPR__GradWarp__B1_Correction__N3__Scaled/2006-07-06_10_36_49.0/S16309/ADNI_002_S_0685_MR_MPR__GradWarp__B1_Correction__N3__Scaled_Br_20070216235850690_S16309_I40683.nii'

它加载。

唯一的区别是 S13893 文件夹。

我有以下代码:

import nibabel as nib
import matplotlib.pyplot as plt
from scipy.misc import imsave as imsave

path = 'C:/Users/Aman/Alzheimer/test-network/ADNI1_Complete_1Yr_1.5T/ADNI/002_S_0685/MPR__GradWarp__B1_Correction__N3__Scaled/2006-07-06_10_36_49.0/ADNI_002_S_0685_MR_MPR__GradWarp__B1_Correction__N3__Scaled_Br_20070216235850690_S16309_I40683.nii'

im = nib.load(path).get_data()
print(im.shape)

任何帮助都会很棒。

【问题讨论】:

  • 你的意思是 S16309 文件夹..
  • 在这个问题的原始版本中,您在非工作路径中有反斜杠而不是正斜杠 - 在您的实际代码中是这样吗?如果是这样,\t 被解释为制表符,\002 被解释为八进制字符转义。您要么需要对 Windows 路径使用原始字符串常量,将反斜杠加倍以转义它们,要么使用正斜杠(但这不适用于将通过命令行执行的任何内容)。
  • 我要指出from scipy.misc import imsave as imsave可以写成from scipy.misc import imsave

标签: python fileloadexception


【解决方案1】:

我尝试在路径的开头使用 r,但它不起作用。

另外,我尝试使用 \\?\ 再次不起作用。

作为最后的手段,我发现这实际上是路径长度的问题,并通过删除所有文件路径中的共性来缩短路径,并且效果很好。

感谢大家的帮助。

但是,这只是我执行的一种解决方法,建议的编辑/更改对我不起作用。

【讨论】:

    【解决方案2】:

    在 Windows 中,您应该尝试:

    path = r'C:/Users/Aman/Alzheimer/test-network/ADNI1_Complete_1Yr_1.5T/ADNI/002_S_0685/MPR__GradWarp__B1_Correction__N3__Scaled/2006-07-06_10_36_49.0/ADNI_002_S_0685_MR_MPR__GradWarp__B1_Correction__N3__Scaled_Br_20070216235850690_S16309_I40683.nii'
    

    【讨论】:

      猜你喜欢
      • 2013-07-14
      • 2011-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-17
      • 2012-04-07
      • 2014-01-19
      相关资源
      最近更新 更多