В Windows и Python3 я конвертирую некоторый старый код, который использует os.system()
для использования subprocess.run()
, но у меня возникают проблемы с захватом вывода в stdout и stderr.
Вот что я получаю изsimple dir c:\
:
r = subprocess.run(['dir', 'c:\\'], check=True, universal_newlines=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
r.stdout
Out[56]: '$GetCurrent\t\t Program\\ Files\t Users\t cygwin64\n$Recycle.Bin\t\t Program\\ Files\\ (x86) WPy64-3740 findEm\nBOOTNXT\t\t\t ProgramData\t\t Windows\t microchip\nBrother\t\t\t Program_Files\t\t antiword pagefile.sys\nDocuments\\ and\\ Settings Recovery\t\t bin\t swapfile.sys\nPerfLogs\t\t System\\ Volume\\ Information bootmgr\n'
type(r.stdout)
Out[57]: str
Что со всеми символами '\ t' (я полагаю) и \ n '(символами новой строки) в выходных данных?
Как преобразоватьстроки '\ t' и '\ n' в результате в настоящие вкладки и новые строки для печати?