即使 jupyter notebook 中的 shell 命令显示目录,也无法访问 OneDrive 文件夹

Can't access OneDrive folders even though shell command in jupyter notebook shows directory

我正在尝试 运行 我的 OneDrive 文件夹中图像目录的功能。当我在 jupyter 笔记本中使用 shell 命令时:

!ls ../OneDrive\ -\ University/centralschool

我得到了我所有 .tif 图像的列表。但是,当我尝试通过 python 函数调用目录时:

for f in sorted(listdir('../OneDrive\ -\ University/centralschool')):
    print(f)

我遇到了经典错误:

FileNotFoundError: [Errno 2] No such file or directory: '../OneDrive\ -\ University/centralschool'

我以前从未调用过我的 OneDrive 文件夹中的文件夹,这是不可能的,因为它是基于云的吗?另外,您调用其中包含空格的文件夹的方式让我很困惑,但是一旦我让它在 shell 命令中工作,我认为它会转移到我的 python 函数中,但事实并非如此案例.

最后,我正在使用的脚本设置如下

Desktop
Documents
OneDrive
Image_Work
    |
    |__script.ipynb
    |__otherscripty.ipynb

我使用的脚本定义为“脚本”,因此我尝试使用 ./../ 开始我的目录调用。我正在通过 Anaconda 使用 jupyter notebook。

因为文件名在 python 中的字符串中,所以无需担心转义空格。 (如果你将文件名放在引号中,你也不需要在命令行上这样做。)这个问题与 OneDrive 无关。

这应该有效:

for f in sorted(listdir('../OneDrive - University/centralschool')):
    print(f)