使用Google Colab调用不同python文件中的函数?

2022-03-15 00:00:00 python google-colaboratory

问题描述

我正在处理一个项目,对于该项目,我需要从多个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'

有没有人知道我有什么办法可以让它正常工作?当然,有办法吗?

Edit:在前面的代码之前,我有挂载Google驱动器并将目录更改为存储文件的目录的代码。看起来是这样的:

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"

解决方案

对于将来遇到此问题的任何人:我最终找到了解决方案。

要访问其他程序,该程序文件必须是.py文件,并且必须位于也包含名为_init_.py文件的文件夹中。_init_.py可以完全为空。

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

相关文章