我正在构建一个 python 脚本供我的同事使用。
我希望我的同事能够 run 和 view 脚本,但 不能编辑脚本 当他们从 GitHub 下载脚本时。我在这个问题和这篇文章中探索了一些选项,但不幸的是,它们都不是我需要的。
脚本功能如下:
现在,当我的同事使用这个脚本时,我不希望他们编辑代码特别是预设假设和条件部分,这样每个使用这个脚本的人都使用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
编辑器。
我不确定你想做的事情是否可行。
不幸的是,我认为禁止对文件的写访问是不可能的。虽然您可以在本地限制对文件的访问,但一旦其他用户在自己的计算机上拥有该文件,他们就可以为所欲为。
我想说清楚你的同事不能直接编辑github源代码(当然除非他们有访问权限)。他们如何处理文件的自定义副本是他们的事,不会为其他任何人改变。
但是,如果你想阻止用户编辑他们自己的本地文件,你最好的选择是使用
chmod
.
chmod
如果您使用的是 linux(或者可能是 mac),您可以使用命令行工具
chmod
来编辑文件的属性。例如,要允许读取和执行 hello.py
文件(但不允许写入访问权限),请使用以下命令:
chmod a=rx hello.py
这对于您不希望人们意外覆盖密钥文件的共享服务器特别有用。
但是:如果用户在本地计算机上下载文件,他们总是可以使用
chmod
来反转命令并允许再次编辑。这不会阻止开发人员编辑文件的本地副本。
chmod
如果要使文件再次可编辑,请使用以下命令:
chmod a=rwx hello.py
什么阻止你简单地添加注释行告诉用户不要编辑你的源代码?