Ich verwende Paramiko in meinem Python-Code (für sftp). Alles funktioniert gut, außer dass ich jedes Mal eine Paramiko Funktion importiere oder anrufe. Diese Warnung auftauchen würde:So unterdrücken Sie eine Warnung von Drittanbietern mit Warnungen.filterwarnungen
C:\Python26\lib\site-packages\Crypto\Util\randpool.py:40: RandomPool_Deprecation
Warning: This application uses RandomPool, which is BROKEN in older releases. S
ee http://www.pycrypto.org/randpool-broken
RandomPool_DeprecationWarning)
Ich weiß, dass dies mit der Tatsache zu tun, dass paramiko einige Veralten Funktionalitäten von PyCrypto verwendet.
Meine Frage ist, gibt es eine Möglichkeit, diese Warnung programmgesteuert zu unterdrücken? Ich habe dies versucht:
warnings.filterwarnings(action='ignore', \
category=DeprecationWarning, module='paramiko')
und auch dies:
warnings.filterwarnings(action='ignore', \
category=DeprecationWarning, module='randpool')
vor 'Import paramiko' Anweisung und vor paramiko spezifische Funktionsaufrufe, aber nichts funktioniert. Diese Warnung wird immer angezeigt, egal was passiert. Wenn es hilft, hier ist der Code in der Dritten Bibliothek, die die Warnung ausgibt:
in randpool.py:
from Crypto.pct_warnings import RandomPool_DeprecationWarning
import Crypto.Random
import warnings
class RandomPool:
"""Deprecated. Use Random.new() instead.
See http://www.pycrypto.org/randpool-broken
"""
def __init__(self, numbytes = 160, cipher=None, hash=None, file=None):
warnings.warn("This application uses RandomPool, which is BROKEN in older releases. See http://www.pycrypto.org/randpool-broken",
RandomPool_DeprecationWarning)
Wenn Sie einen Weg, um dieses wissen, bitte helfen Sie mir diese Warnung abgeschaltet.
Wie würden Sie dies ändern, um nur die besondere Warnung OP erwähnt zu filtern? – VF1