如何在Raspberry Pi上保护我的Python脚本? - python

我已经在Python上开发了一个漫长而复杂的计算机视觉算法。我坚持“冗长而复杂”,因为我的最后一个解决方案是用C ++重写它(大约3000行,并且依赖于纯Python库)...

该算法嵌入在Raspberry Pi A +中。可以将SD卡插入此纳米计算机,使其包含Linux系统。

因此,基本上我的脚本位于该SD的文件夹中。打开Raspberry Pi时,它将运行系统,然后执行我的代码。

假设有人检索了此SD卡。我如何确定他将无法进入我的剧本?

我读过难以混淆Python代码,这仍然是真的吗?假设我要用荒谬的名称重命名所有变量,以“加扰”。是否有程序可以追溯整个算法的结构?

关于SD卡本身,可以对其进行保护吗?
我实际上是在启动Raspberry Pi时停用HDMI和USB端口,并使用密码保护SSH连接。
您是否认为这已经足够了,或者有人可以通过其他方法来访问脚本吗?

最后,用C ++重写它……是否可以确保我得到100%保护?

先感谢您。 🙂

python大神给出的解决方案

我认为最好的解决方案是使用捆绑工具编译Python文件。

请参见Compiling Python Code。

例如使用PyInstaller

pip install pyinstaller
pyinstaller yourprogram.py

尽管您永远不能(甚至使用C ++)也不能保证完全的“保护”。像reverse engineering这样的技术可以用来揭示您的算法。

Python sqlite3数据库已锁定 - python

我在Windows上使用Python 3和sqlite3。我正在开发一个使用数据库存储联系人的小型应用程序。我注意到,如果应用程序被强制关闭(通过错误或通过任务管理器结束),则会收到sqlite3错误(sqlite3.OperationalError:数据库已锁定)。我想这是因为在应用程序关闭之前,我没有正确关闭数据库连接。我已经试过了: connectio…

Python pytz时区函数返回的时区为9分钟 - python

由于某些原因,我无法从以下代码中找出原因:>>> from pytz import timezone >>> timezone('America/Chicago') 我得到:<DstTzInfo 'America/Chicago' LMT-1 day, 18:09:00 STD…

用大写字母拆分字符串,但忽略AAA Python Regex - python

我的正则表达式:vendor = "MyNameIsJoe. I'mWorkerInAAAinc." ven = re.split(r'(?<=[a-z])[A-Z]|[A-Z](?=[a-z])', vendor) 以大写字母分割字符串,例如:'我的名字是乔。 I'mWorkerInAAAinc”变成…

如何打印浮点数的全精度[Python] - python

我编写了以下函数,其中传递了x,y的值:def check(x, y): print(type(x)) print(type(y)) print(x) print(y) if x == y: print "Yes" 现在当我打电话check(1.00000000000000001, 1.0000000000000002)它正在打印:<…

Python:检查新文件是否在文件夹中[重复] - python

This question already has answers here: How do I watch a file for changes? (23个答案) 3年前关闭。 我是python的新手,但是我尝试创建一个自动化过程,其中我的代码将侦听目录中的新文件条目。例如,某人可以手动将zip文件复制到一个特定的文件夹中,并且我希望我的代码能够在文件完全…