Найти - Пользователи
Полная версия: Вытаскивание и обработка информации из командной строки
Начало » Центр помощи » Вытаскивание и обработка информации из командной строки
1
Savin Me
Всем доброго времени суток!
Имеется задачка цель которой является учет пользователей на машине, в которой запущена программа. При написании, использовав библиотеку os, столкнулся с проблемой записи информации полученной следующим образом:
import os
os.system('net user username')
Данная команда выводит на экран всю доступную информацию об указанном пользователе.

Вопрос состоит в том, как вытащить из результата лишь нужную мне часть и записать ее, например, в файл?

Заранее спасибо!
py.user.next
import subprocess

s = subprocess.Popen('cat /etc/passwd'.split(),
stdout=subprocess.PIPE).communicate()[0]

with open('file.txt', 'w', encoding='utf-8') as f:
print(repr(s.splitlines()[0].split(b':')), file=f)
print('ok')
[guest@localhost tests]$ python3 t.py
ok
[guest@localhost tests]$ cat file.txt
[b'root', b'x', b'0', b'0', b'root', b'/root', b'/bin/bash']
[guest@localhost tests]$
Savin Me
При попытке сырого вывода в файл с результатом в одну строку
import subprocess

s = subprocess.Popen('net user'.split(),
stdout=subprocess.PIPE).communicate()[0]

with open('file.txt', 'w', encoding='utf-8') as f:
print(repr(s), file=f)
print('ok')
На выходе имею что-то вроде:
b'\r\n\x93\xe7\xa5\xe2\xad\xeb\xa5 \xa7\xa0\xaf\xa8\xe1\xa8 \xaf\xae\xab\xec\xa7\xae\xa2\xa0\xe2\xa5\xab\xa5\xa9 \xa4\xab\xef \\\\201-02\r\n\r\n——————————————————————————-\r\nHelpAssistant SUPPORT_388945a0 \x80\xa4\xac\xa8\xad\xa8\xe1\xe2\xe0\xa0\xe2\xae\xe0 \r\n\x83\xae\xe1\xe2\xec \r\n\x8a\xae\xac\xa0\xad\xa4\xa0 \xa2\xeb\xaf\xae\xab\xad\xa5\xad\xa0 \xe3\xe1\xaf\xa5\xe8\xad\xae.\r\n\r\n'

Какую кодировку следует указать для читабельного вывода?

Или в крайнем случае какие есть оптимальные методы отдельного перевода (python3)?
py.user.next
>>> s = by.decode('cp866')
>>> print(s)

Учетные записи пользователей для \\201-02

-------------------------------------------------------------------------------
HelpAssistant SUPPORT_388945a0 Администратор
Гость
Команда выполнена успешно.


>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB