【问题标题】:How to specify a path for Microsoft Azure Jupyter Notebooks?如何为 Microsoft Azure Jupyter Notebooks 指定路径?
【发布时间】:2019-08-25 23:35:34
【问题描述】:

我正在尝试将我为 Jupyter Notebook 编写的 Python 脚本上传到 Microsoft Azure Notebooks,但它无法正常工作。

Microsoft Azure 项目有一个文件夹,其中包含我正在尝试读取的 XLSX 文件和 Python 脚本。当我在 Jupyter Notebook 上运行 Python 脚本时,它不会访问我之前上传到项目的文件夹。

path =r'/Users/chorozco/Documents/Dr.Irwin/6 Column Data Acquisition Converted'
filenames = glob.glob(path + "/*.xlsx")

path = os.getcwd()
files = os.listdir(path)
files

我期待“6 Column Data Acquisition Converted”中的文件列表,但我得到的是 Microsoft Azure 项目中的文件列表:

期望: Script run from Anaconda in my computer

现实: Script run from Microsoft Azure Notebooks

【问题讨论】:

  • 欢迎来到 SO!我建议将您的错误文本放在问题中,而不是错误的图片。我认为这将有助于获得更多的投票和意见。

标签: python azure jupyter-notebook


【解决方案1】:

根据您的代码path =r'/Users/chorozco/Documents/Dr.Irwin/6 Column Data Acquisition Converted',我认为您正在使用 MacOS,而不是 Linux。但是,Microsoft Azure Notebooks 是基于 Linux 运行的。因此,Azure Notebook 和本地 Anaconda 之间的代码 os.listdir(path) 的差异是由于在 Linux 和 Windows 以外的不同操作系统(如 MacOS)上针对此功能 os.listdir 的 Python 实现不同造成的,结果没有递归列出目录中的文件.

这是我的步骤作为参考。

  1. 我在我的Microsoft Azure Notebooks帐户中创建了一个名为Test for listing xlsx files in a path of Azure Notebook Project的新项目,并创建了一个新文件夹6 Column Data Acquisition Converted,如下图所示。

    图 1.

    图 2.

  2. 我在本地Windows上创建了一些xlsx文件上传,然后移动到我之前在Azure Notebook项目中创建的文件夹进行上传操作,如下图。

    图 3.

    图 4.

    图 5.

    图 6。

  3. 我在 Python 3.6 中创建了一个笔记本来运行与您相同的代码。

    图 7.

    图 8。

  4. 我发现结果与我本地 Linux 和 Windows 上的代码相同,但与您在 MacOS 上的结果不同。

    图 9. 几乎相同的代码在 Azure Notebook 的 Python 3.6 中运行

    图 10. 几乎相同的代码在 Azure Notebook 的 Python 2.7 中运行

    图 11.os.listdir 在 Windows 上的结果

    图 12.os.listdir 在 Linux 上的结果

所以我认为问题是由 MacPython 引起的,请再次检查。希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 2020-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-31
    • 1970-01-01
    • 2019-10-09
    • 1970-01-01
    • 2018-07-14
    相关资源
    最近更新 更多