是否可以在Python中执行以下操作?
伪代码:
<code to extract contents from a password-protected .zip file (includes module)>
<path to module>
import module
reload(module)
<delete extracted contents, including the imported module>
<program code (within it, use reload(module) to use the module)>
这样做的目的基本上是使该模块对用户“不可见”。我知道如果用户真的想得到它,他可以,但这更多的是一种威慑。我也知道这可能根本不可取,但是可能吗?
谢谢。
最佳答案
如果“内容包含模块”指的是 .py
文件,并且第一个 导入模块
可以创建 module.pyc,那么它可能会起作用
文件(通常可以,但例如只读文件系统会阻止它)。如果您不删除该 .pyc
文件,则 reload(module)
可以从中加载。
如果稍后在包含路径中找到另一个 module.py
,则从一个位置删除这些文件将导致reload
从另一个位置加载它。
如果您删除路径中所有与 module
相关的文件,则无法重新加载它,因为重新加载的意思是“从包含路径加载此文件”。
关于python - 是否可以在python中导入一个模块,然后将其删除,但仍然可以在程序中使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21617672/