如何在 google colab 中导入自定义模块?

How to import custom modules in google colab?

我有一个名为 imutils.py 的文件,它只有一个定义,即 abc() returns 2 个整数的总和。

现在我想在一个单独的协作文件中使用这个定义,但我不能。

我使用的方法是先将文件imutils.py上传到驱动中,然后导入并使用定义。错误说模块 'imutils' 没有属性 'abc'

上传我首先使用了两种方法: 首先,我使用驱动器 GUI 上传,然后我也使用代码尝试了上述操作。两种情况都上传成功

from google.colab import files
files.upload() 

如果您的 Python 文件在云端硬盘中,挂载您的云端硬盘可能比上传文件更简单,例如,

from google.colab import drive
drive.mount('/content/gdrive')

然后,如果你有一个模块,你可以像这样导入它:

https://colab.research.google.com/drive/1uvHuizCBqFgvbCwEhK7FvU8JW0AfxgJw

笔记本内容如下:

在浏览器中转到 URL:https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=email%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdocs.test%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fdrive.photos.readonly%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fpeopleapi.readonly&response_type=code

输入您的授权码:

··········

安装在 /content/gdrive

我碰巧在云端硬盘中有一个 .py 文件。

!ls /content/gdrive/My\ Drive/*.py
>>> /content/gdrive/My Drive/mylib.py

!cat '/content/gdrive/My Drive/mylib.py'

def MyFunction():
    print ('My imported function')

# We'll need to update our path to import from Drive.

import sys
sys.path.append('/content/gdrive/My Drive')

# Now we can import the library and use the function.

import mylib
mylib.MyFunction()