Skip to main content
 首页 » 编程设计

python之为什么我的脚本不产生输出,而交互式 session 中的相同代码却产生输出

2025年05月04日12虾米哥

我从 pycrypto 示例中得到以下信息:

>>> from Crypto.Cipher import AES 
>>> obj = AES.new('This is a key456', AES.MODE_ECB) 
>>> message = "The answer is no" 
>>> ciphertext = obj.encrypt(message) 
>>> ciphertext 
'o\x1aq_{P+\xd0\x07\xce\x89\xd1=M\x989' 
>>> obj2 = AES.new('This is a key456', AES.MODE_ECB) 
>>> obj2.decrypt(ciphertext) 
'The answer is no' 

现在我创建一个脚本:

#!/usr/bin/env python 
from Crypto.Cipher import AES 
obj = AES.new('This is a key456', AES.MODE_ECB) 
message = "The answer is no" 
ciphertext = obj.encrypt(message) 
ciphertext 
#'o\x1aq_{P+\xd0\x07\xce\x89\xd1=M\x989' 
obj2 = AES.new('This is a key456', AES.MODE_ECB) 
obj2.decrypt(ciphertext) 

当我运行脚本时。我希望看到字符串输出

'o\x1aq_{P+\xd0\x07\xce\x89\xd1=M\x989' 
'The answer is no' 

但是我什么也没得到。我尝试了 print ciphertext,但它打印了乱码。

请帮忙。

请您参考如下方法:

你必须调用 print 函数(或 py2 中的 print 语句)来打印你想要打印的内容:

#!/usr/bin/env python 
from Crypto.Cipher import AES 
obj = AES.new('This is a key456', AES.MODE_ECB) 
message = "The answer is no" 
ciphertext = obj.encrypt(message) 
print(ciphertext) 
#'o\x1aq_{P+\xd0\x07\xce\x89\xd1=M\x989' 
obj2 = AES.new('This is a key456', AES.MODE_ECB) 
print(obj2.decrypt(ciphertext))