我试图通过用不可读的变量替换可读变量来加密模块(ency0)。加密模块 (ency1) 在 PyScripter 中有效,但在 Python Interpreter 中无效。
# ency0 module:
a,b = 2, 3
_,__ = a,b
# ency1 module:
import ency0
print 5*_+6*__
# expect result = 28 #
# In Python Interpreter:
>>>import ency0
>>>import ency1
Traceback <most recent call last>:
File "<stndin>", line 1, in <module>
File "ency1.py", line 13, in <module>
print 5*_ + 6*__
NameError: name '_' is not defined
>>>
在 PyScripter 中,只要先运行 ency0 然后再运行 ency1,我就可以获得 28 的正确结果。如果仅运行 ency1,则会收到一条名为“_”的错误消息未定义。
但是在 Python Interpreter 中,我总是有一条错误消息:无论是否提前运行 ency0,name '_' is not defined。
我相信我错过了一些默认情况下始终包含在 PyScripter 中的非常基本的语句。