【问题标题】:Calling a function in a different python file using Google Colab?使用 Google Colab 在不同的 python 文件中调用函数?
【发布时间】:2021-07-20 01:49:27
【问题描述】:

我正在开发一个项目,我需要从多个 python 文件中调用函数以在一个主程序中使用。所有有问题的程序都是 Google Colab 中同一目录中的笔记本。我无法调用我需要的函数,也找不到有效的解决方案。我试过简单的from InterpolateData import LoadandInterp,其中InterpolateData 是存储函数LoadandInterp 的文件名。这是我目前拥有的:

from google.colab import files
import sys
sys.path.append( "/content/drive/My Drive/Colab Notebooks")
import InterpolateData
import numpy as np
import pandas as pd
from scipy.interpolate import griddata

#get, normalize and interpolate data

#SpectralHighData
temperatureList=np.arange(25.0,46.0,1.0)
interpList=np.arange(25.0,45.0,0.1)
pathBefore="/content/drive/My Drive/Colab Notebooks/Original Data/High Temperatures/Spectral_high/CdTe Spectra Interpolated "
pathAfter="C.csv"

interpolated=InterpolateData.LoadandInterp(temperatureList, interpList, pathBefore, pathAfter)

我尝试过的所有操作都会返回类似于 ModuleNotFoundError: No module named 'InterpolateData' 的错误

有谁知道我可以让它工作的方法吗?当然,有办法吗?

编辑:在前面的代码之前,我有代码来挂载我的谷歌驱动器并将目录更改为存储文件的位置。它看起来像这样:

from google.colab import drive
drive.mount('/content/drive', force_remount=True)

!ls "/content/drive/My Drive/Colab Notebooks"
%cd "/content/drive/My Drive/Colab Notebooks"

【问题讨论】:

  • 您是否尝试过更改工作目录而不是添加到路径?
  • 我尝试在安装我的谷歌驱动器后添加一个更改目录行。我不确定这是否是您的意思,因为我对这种语言和 colab 还很陌生。我将发布那段代码作为对问题的编辑。

标签: python google-colaboratory


【解决方案1】:

对于将来偶然发现此问题的任何人:我最终能够找到解决方案。

为了访问另一个程序,程序文件必须是 .py 文件,并且它必须位于还包含名为 _init_.py 的文件的文件夹中。 _init_.py 可以完全为空。

设置好文件后,使用%cd 'filepath' 将目录更改为包含“模块”程序的文件夹。然后您可以使用import filename 导入您的模块。现在可以通过filename.function 访问您其他程序中的函数。

【讨论】:

    猜你喜欢
    • 2018-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-21
    相关资源
    最近更新 更多