使用Google Colab调用不同python文件中的函数?
问题描述
我正在处理一个项目,对于该项目,我需要从多个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
访问其他程序中的函数。
相关文章