我想共享一个Google colab笔记本,但需要隐藏部分代码。是否可以将私有代码放在单独的.py或Colab笔记本中,然后将其导入,以便那些有权访问公共Colab笔记本的人看不到私有.py或Colab笔记本?
非常感谢。
答案 0 :(得分:2)
并非如此;您隐藏代码的能力仅与用户无法对其进行检查的能力一样好:
import some_file # your private .py
from inspect import getsource
print(getsource(some_file))
无论文件如何导入,最底行都会显示文件的整个源代码。
如果您不希望用户知道或知道这一点(不是安全的选择),那么可以,您可以通过自我认证请求将导入运行到存储设备(例如,云端硬盘)用户无法访问的Google Cloud Bucket),但这将涉及很多步骤(我不知道这些步骤)。
有关隐藏代码的详细信息,请参见this SO,以及一些使检查更加困难的特定方法。
更新:一种解决方法是在只读模式下共享,该模式下可以执行但不能编辑单元格-有关几种方法,请参见this SO。请注意,这仍然不能使您的代码完全私有,但是链接中的某些方法可能很难规避(需要黑客入侵)-有效,成功。