0
我正在使用Python M2Crypto包生成RSA密钥。有没有办法抑制Python M2Crypto的RSA.gen_key输出?
>>> import M2Crypto
>>> rsa = M2Crypto.RSA.gen_key (2048, 65537)
.............................................................+++
............................+++
>>>
请注意“openssl stuff”。要抑制写入标准输出/ err我通常这样做:
sys.stdout = open(os.devnull, 'w')
sys.stderr = open(os.devnull, 'w')
这在这种情况下没有效果。我假设这与M2Crypto封装OpenSSL的方式有关。
有没有办法阻止它?
谢谢!方法定义中的out = sys.stdout赋值是在模块使用python加载时完成的,而不是在调用方法时完成的?我仍然不确定为什么将sys.stdout设置为/ dev/null不会停止输出。 – Cory 2012-08-02 13:59:04
@Cory正是这个默认参数的值在函数定义的时候被设置了。看到[这个答案](http://stackoverflow.com/a/11416002/1142167)到一个(有点相关)的概念。 – 2012-08-02 17:44:02