Я хочу проанализировать вывод команд Windows, таких как ipconfig
, netstat
, tasklist
и т. Д., Используя python.
Но определенная часть (фиксированная) вывода этих команд возвращается на основев текущей локали / кодовой странице.
Например, на ipconfig
выводе
the string IP Address..........:123.23.242.12
will be in chinese IP 地址 ..........:123.23.242.12
или на другом языке, в зависимости от кодовой страницы.
Существует ли способ выполнения таких команд, какos.popen("ipconfig")
с определенной настройкой локали / кодовой страницы.
Я пытался использовать модуль локали: locale.setlocale(locale.LC_ALL,"american_united states")
locale.getlocale()
возвращает "English_United States.1252"
, но os.system("chcp")
по-прежнему возвращает старую кодовую страницу: 936
и os.popen("ifconfig")
возвращает строки на китайском языке.
os.system("chcp 65001")
сейчас os.popen("ifconfig")
возвращает английские строки, но очищает весь предыдущий вывод с консоли (может быть, он открывает новую консоль), которыйнеприемлемо.
Есть ли какой-либо способ выполнения таких команд, как os.popen("ipconfig")
, с определенной настройкой локали / кодовой страницы?Любая помощь приветствуется.