在本地运行的Jupter Notebook与Google Colab中加载文件的问题,因为数据文件的顺序似乎不同

时间:2020-01-09 14:15:28

标签: jupyter-notebook google-colaboratory

要加载数据,我正在对位于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的顺序。 感谢您对此问题的任何建议。

1 个答案:

答案 0 :(得分:0)

glob以文件在文件系统中出现的顺序返回文件(请参阅How is Pythons glob.glob ordered?)。与您的本地Jupyter运行时相比,Colaboratory在不同的文件系统体系结构上运行,因此顺序不同也就不足为奇了。

如果您需要以相同顺序的跨平台列出文件,则建议使用Python对输出进行排序;即

dataAD = sorted(glob.glob('ADNI_komplett/AD/*.nii.gz'))