2012-04-27 76 views
0

我想通過用不可讀變量替換可讀變量來加密模塊(ency0)。加密模塊(ency1)在PyScripter中工作,但不在Python解釋器中工作。導入模塊在PyScripter中工作,但不在Python中解釋器

# 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解釋器中,我始終有一個錯誤消息:名稱'_'未定義,無論事先是否運行ency0。

我相信我錯過了默認情況下總是包含在PyScripter中的一些非常基本的聲明。

回答

1

這是一個錯誤,因爲你要訪問_爲

ency0._ 

,如果你想只用_請用

from ency0 import * 

,而不是

import ency0 

您可以隨時使用dir()打印本地變量的列表。

+0

你好,1320237. ency0._運作良好。謝謝。 – 2012-04-27 19:34:42

相關問題