如何在py文件中"隐藏"脏话?
我是一名学校老师,暑假期间我用Python写了一个词汇训练程序,使用了来自维基百科和古腾堡的文本。现在我只需要找个办法把脏话过滤掉,这样就可以把程序发给学生们使用了。
通常我会把那些脏话放在一个数组(列表)里,然后简单地进行过滤。但问题是,这个Python文件学生们是可以打开的,他们会看到那些脏话。如果我把脏话放在一个单独的文件里,并且做一些加密处理,他们还是可以删除那个文件,这样输出就不会被过滤了。
有没有什么好的解决办法呢?
5 个回答
1
为什么不直接分发编译后的 Python .*pyc
文件呢?虽然别人还是可以查看里面的字符串,但这样做可能会让随便翻看文件的人少一些,这样可能就能满足你的需求了。
6
如果所有学生都在使用相同版本的Python(比如在计算机实验室里),你可以分发pyc文件。这个做法其实只是让代码变得不那么容易看懂,但对于一般用户来说,这样可以防止他们随便查看代码。
7
你可以对想要搜索的单词进行哈希处理。这样做会让过滤变得有点复杂,因为你需要把输入的内容拆分成单词,然后对每个单词进行哈希处理,最后检查这些哈希值是否有匹配的。
可以看看这个文档,了解一下 md5() 是怎么用的。
这样你的源代码里就只会包含哈希后的单词,而无法把它反向变回单词列表(不过,有些聪明的学生可能会有一些不错的猜测!)