2017-02-08 10 views
0

Я пытаюсь удалить «Да» из вывода команды Windows в Python. Но sofar im становится нигде. Следующий код:Исключение из команды Python batch

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' или' Счет активный No' , то вы можете использовать 'result.split (" ") [- 1]' – ZdaR

+0

Как не работает 'split' и' strip'? Какие результаты вы получаете? Узнайте, как создать [mcve]. –

+0

'' Да 'в результате', если вы не ожидаете '' Да' 'где-нибудь еще, или 'result.endswith (' Да ')', если вы хотите быть более точным. –

ответ

0

Вы можете попробовать так:

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

Сначала замените 'Yes' с пустым пространством, а затем разделить, чтобы удалить пробелы и присоедините полученный список к одному пространству.


Если на «полосе» 'Yes' вы имели в виду извлечь 'Yes', то вы можете сделать это так:

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

Thx, что помогло, я смог сократить его даже до: 'result = result.join (« Активная учетная запись Yes ».replace (« Аккаунт активен », '') .split())' – Ken

+0

@Ken Вы хотели ' «Да» из строки или «Аккаунт активен»? Я думал, что вы хотите «Аккаунт активен». – MYGz

+0

@Ken Обновлено решение для извлечения '' Да'' – MYGz

 Смежные вопросы

  • Нет связанных вопросов^_^