我想分享一个谷歌colab笔记本,但需要隐藏部分代码。是否可以将私有代码放在单独的.py或Colab笔记本中,并导入它,这样那些能够访问公共Colab笔记本的人就不能看到私有的.py或Colab笔记本吗?
在此之前,非常感谢您。
发布于 2019-11-15 05:08:00
不完全是这样;您隐藏代码的能力仅限于您的用户无法检查它:
import some_file # your private .py
from inspect import getsource
print(getsource(some_file))底线将打印文件的整个源代码-不管它是如何导入的。
如果您不期望您的用户知道或计算这一点(这不是一个安全的打赌),那么是的,您可以通过对用户无法访问的存储(例如驱动器、谷歌云桶)的自验证请求来运行一个导入,但这将涉及很多步骤(我不知道)。
有关隐藏代码的更多信息,以及一些使检查更加困难的具体方法,请参见this SO。
Update:一种解决方法是以只读模式共享单元格,在这种模式下,单元格可以执行,但不能编辑--参见this SO中的几种方法。请注意,这仍然不能使您的代码完全私有,但是链接中的一些方法很难绕过(需要黑客攻击)--实际上是成功的。
https://stackoverflow.com/questions/58870038
复制相似问题