2017-08-21 9 views
0

check_output関数の使用中に警告が表示され、警告をリダイレクトできません。私はstderrはエラーを処理し、subprocess.check_outputは警告を扱うことができないと思います。誰もお勧めできますか?警告のpythonで警告をリダイレクトする必要がありますcheck_output

def getSnapshot(volumeName): 
    try: 

     snapID, snapAttach = check_output(["openstack", "volume", "snapshot", "list", "--volume", volumeName, "-c", "Name", "-c", "ID", "-f", "value"]).rstrip().split() 
     myDict['snapshot'] = [snapAttach, snapID] 
    except ValueError: 
     myDict['snapshot'] = None 
    return myDict 

タイプ:

WARNING: openstackclient.common.utils is deprecated and will be removed after Jun 2017. Please use osc_lib.utils. This warning is caused by an out-of-date import in /usr/local/lib/python2.7/dist-packages/heatclient/osc/plugin.py\nIgnoring domain related config project_domain_id because identity API version is 2.0\n 
+0

pythonスクリプトで回避するのではなく、openstackで問題を解決しないのはなぜですか? :D – AK47

+1

私はアクセスできない他のサーバー上で動作しています。 –

+0

警告は 'stdin'または' stderr'のいずれかでなければなりません。 'stdwarn'とは思えません。警告はどこに表示されますか? – sauerburger

答えて

0

はあなたが欠けている何のために適切であり得ます。 https://docs.python.org/2/library/warnings.html

import warnings 

    def fxn(): 
     warnings.warn("deprecated", DeprecationWarning) 

    with warnings.catch_warnings(): 
     warnings.simplefilter("ignore") 
     fxn() 
+0

これは良いことではありません。私はこれをすでに試しました。 :( –

関連する問題