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