コードを単純化したい。 utils.pyを作成しましたが、GoogleColaboratoryディレクトリは「/ content」です。他の質問を読みました。しかし、これは私の解決策ではありません
GoogleのColabノートブックで、Pythonファイルから関数を呼び出すにはどうすればよいですか?
%%writefile example.py
def f():
print 'This is a function defined in a Python source file.'
# Bring the file into the local Python environment.
execfile('example.py')
f()
This is a function defined in a Python source file.
Def()を使用するだけのように見えます。
これを使用して、私は常にセルにコードを記述します。
しかし、私はこのコードにしたい
import example.py
example.f()
たぶんあなたが望むサンプル:
!wget https://raw.githubusercontent.com/tensorflow/models/master/samples/core/get_started/iris_data.py -P local_modules -nc
import sys
sys.path.append('local_modules')
import iris_data
iris_data.load_data()
このコードはPython 3:
from google.colab import drive
import importlib.util
# Mount your drive. It will be at this path: "/content/gdrive/My Drive/"
drive.mount('/content/gdrive')
# Load your module
spec = importlib.util.spec_from_file_location("YOUR_MODULE_NAME", "/content/gdrive/My Drive/utils.py")
your_module_name = importlib.util.module_from_spec(spec)
spec.loader.exec_module(your_module_name)
import importlib.util
import sys
from google.colab import drive
drive.mount('/content/gdrive')
# To add a directory with your code into a list of directories
# which will be searched for packages
sys.path.append('/content/gdrive/My Drive/Colab Notebooks')
import example.py
これは私のために働きます。
私も最近この問題を抱えています。
完全な解決策ではありませんが、次の手順で問題に対処しました。
src = list(files.upload().values())[0]
open('util.py','wb').write(src)
import util