要加载数据,我正在对位于Google驱动器中的数据使用以下代码。
import glob
dataAD = glob.glob('ADNI_komplett/AD/*.nii.gz')
dataLMCI = glob.glob('ADNI_komplett/LMCI/*.nii.gz')
dataCN = glob.glob('ADNI_komplett/CN/*.nii.gz')
dataFiles = dataAD + dataLMCI + dataCN
我需要在本地计算机的jupyter笔记本中访问相同的数据,为此我要将数据从Google驱动器下载到我的计算机上,并尝试使用与上述相同的代码加载文件。
但是我注意到在colab和jupyter中文件加载的顺序是不同的。 Adding screen shots to show difference
检查屏幕截图。 屏幕截图的左侧是在我的计算机中以jupyter运行的代码,右侧是在colab中运行的代码。 您可以从突出显示的区域中看到;在jupyter中,加载的第一个文件名为 AD \ mwp1ADNI_002_S_0729_MR_MT1 ,而在colab中,加载的第一个文件名为 AD / mwp1AD_4001_037_MR_MT1 从第二张屏幕截图中可以看出,数字顺序也有所不同。
我需要同时保持colab和jupyter的顺序。 感谢您对此问题的任何建议。
答案 0 :(得分:0)
glob
以文件在文件系统中出现的顺序返回文件(请参阅How is Pythons glob.glob ordered?)。与您的本地Jupyter运行时相比,Colaboratory在不同的文件系统体系结构上运行,因此顺序不同也就不足为奇了。
如果您需要以相同顺序的跨平台列出文件,则建议使用Python对输出进行排序;即
dataAD = sorted(glob.glob('ADNI_komplett/AD/*.nii.gz'))