2017-02-08 7 views
0

私はPythonでWindowsコマンドの出力から "Yes"を削除しようとしています。しかし、どこにもいきません。 次のコード:Pythonバッチコマンドの結果を削除する

result = os.open('net user ' + user + ' | find /i "Account active"').read() 

出力:私は "はい" を取得することができるようにしたい

"Account active       Yes" 

。 split()& strip()を使用しましたが、まったく動作しないようです。

私の場合は、正しいコードを、それをされたワークアウト後:

result = result.join(result.replace('Account active', '').split()) 
+0


もしあなたが'Yes'を抽出意味「ストリップ」'Yes'することにより、あなたはそうのようにそれを行うことができます'result.split(" ")[ - 1]' – ZdaR

+0

どうすれば 'split'と' strip'がうまくいかないのでしょうか?どのようなアウトプットを得ていますか? [mcve]の作成方法を参照してください。 –

+0

他の場所で ''はい ''を期待していない場合は '' Yes 'in result'を、それ以外の場合は 'result.endswith(' Yes​​ ')'を指定してください。 –

答えて

0

あなたはこのように試すことができます:

>>> ' '.join("Account active      Yes".replace('Yes','').split()) 
'Account active' 

まず、その後の空白を削除するために分割し、空きスペースと'Yes'を交換し、 1つのスペース上に結果として得られるリストを結合します。出力は常にフォーム `アカウントアクティブYes`または`アカウントアクティブNo`のであれば

>>> "Account active      Yes".split()[-1] 
'Yes' 
+0

Thx、私はそれを短くすることができました: 'result = result.join(" Account active Yes ".replace( 'Account active'、 '').split())' – Ken

+0

@Kenあなたは '文字列から「はい」を選択するか、「アカウントを有効にする」を選択しますか?私はあなたが 'Account active'を望んでいると思った。 – MYGz

+0

@Ken「はい」を抽出するためのソリューションを更新しました – MYGz

関連する問題