スポンサーリンク

Google Colab環境で実行中かを判断して処理を分岐

Google Colabは本当に便利ですよね。
使い方として、まずは手元のローカルで試して、その後にGoogle Colabに持っていって実行する場合が多々あります。
そのときに、Google Colab環境で実行中かを判断して処理を分岐させると、ソースコードを一つにできます。

方法としては、sysモジュールをimportして、sys.modulesの中に'google.colab'があるかどうかの判断でOKだと思います。

下記がサンプルコードになります。

$ cat sample.py 
#!/usr/bin/env python3
# coding: UTF-8

import sys

print(type(sys.modules))
moduleList = sys.modules
ENV_COLAB = False

if 'google.colab' in moduleList:
	print("google_colab")
	ENV_COLAB = True
else:
	print("Not google_colab")


if ENV_COLAB:
	print("Execute in google_colab")

下記がGoogle Colab環境での実行結果になります。
<class 'dict'>
google_colab
Execute in google_colab

下記が手元のローカルでの実行結果になります。

$ ./sample.py 
<class 'dict'>
Not google_colab

スポンサーリンク