如何保护 python 脚本不被编辑

问题描述 投票:0回答:2

我正在构建一个 python 脚本供我的同事使用。

我希望我的同事能够 runview 脚本,但 不能编辑脚本 当他们从 GitHub 下载脚本时。我在这个问题这篇文章中探索了一些选项,但不幸的是,它们都不是我需要的。

脚本功能如下:

  1. 根据预设的假设和条件对一组数据进行一定的计算
  2. 将结果写入Excel文件
  3. 报告结果

现在,当我的同事使用这个脚本时,我不希望他们编辑代码特别是预设假设和条件部分,这样每个使用这个脚本的人都使用same条件和假设来执行计算在数据上报告结果。

考虑以下示例:
假设你有一个名为

my_script.py
.
的脚本 该脚本的内容是:

def modified_multiplication(a: int, b: int):
    result = ((a * b) * 0.5) + 2
    return result 

现在,我想要的行为是用户可以打开脚本并看到乘法被修改,首先乘以

0.5
然后添加
2
但不能将这些值更改为例如
0.7
3 
.
所以,我锁定了一种可以实现这种行为的方法。

如果有帮助,我正在使用

python 3.10
pycharm
编辑器。

python github pycharm
2个回答
0
投票

我不确定你想做的事情是否可行。

不幸的是,我认为禁止对文件的写访问是不可能的。虽然您可以在本地限制对文件的访问,但一旦其他用户在自己的计算机上拥有该文件,他们就可以为所欲为。

我想说清楚你的同事不能直接编辑github源代码(当然除非他们有访问权限)。他们如何处理文件的自定义副本是他们的事,不会为其他任何人改变。

但是,如果你想阻止用户编辑他们自己的本地文件,你最好的选择是使用

chmod
.

使用
chmod

如果您使用的是 linux(或者可能是 mac),您可以使用命令行工具

chmod
来编辑文件的属性。例如,要允许读取和执行
hello.py
文件(但不允许写入访问权限),请使用以下命令:

chmod a=rx hello.py

这对于您不希望人们意外覆盖密钥文件的共享服务器特别有用。

但是:如果用户在本地计算机上下载文件,他们总是可以使用

chmod
来反转命令并允许再次编辑。这不会阻止开发人员编辑文件的本地副本。

倒车
chmod

如果要使文件再次可编辑,请使用以下命令:

chmod a=rwx hello.py

-1
投票

什么阻止你简单地添加注释行告诉用户不要编辑你的源代码?

© www.soinside.com 2019 - 2024. All rights reserved.