Есть ли способ добавить наши собственные данные при записи вывода sys.stdout в файл в Python? - PullRequest
0 голосов
/ 25 октября 2019

В основном я использую Telnet для QNX Os, а затем пытаюсь выполнить команду и сохранить эти выходные данные в файл, мой код выглядит следующим образом:

child = pexpect.spawn("telnet x.x.x.x")
fPointer = open(output.txt,'wb')
fPointer.write("\n---------------------------------------------------------- 
-----------------------\n")
child.logfile = fPointer
child.logfile = sys.stdout.buffer
child.expect(".*login:")
child.sendline(USERNAME)
child.expect("Password for root@localhost:")
child.sendline(PASSWORD)
child.expect(".*#")

Мой вывод файла должен быть таким, как показано ниже:

uname -a

#:~/Desktop$ uname -a
#73~16.04.1-Ubuntu SMP Fri Sep 13 09:56:18 UTC 2019 x86_64 x86_64 x86_64 
GNU/Linux
#
-----------------------------------------------------------------------------
ifconfig -a

vinnuvlsm@vinay-D113076920:~/Desktop$ ifconfig 
eth0      Link encap:Ethernet  HWaddr c4:34:6b:xx:xx:xx  
          inet addr:x.x.x.x  Bcast:x.x.x.x  Mask:x.x.x.0
          inet6 addr: fe80::179e:8481:9a43:778a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3154568 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5245221 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:300747379 (300.7 MB)  TX bytes:7343259379 (7.3 GB)
          Interrupt:20 Memory:f7c00000-f7c20000 

eth1      Link encap:Ethernet  HWaddr 00:80:c8:xx:xx:xx  
          inet addr:x.x.x.x  Bcast:x.x.x.x  Mask:x.x.x.0
          inet6 addr: fe80::fb67:c1c6:5807:e39/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:228528 errors:0 dropped:0 overruns:0 frame:0
          TX packets:22424 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:19363964 (19.3 MB)  TX bytes:1707534 (1.7 MB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:51385774 errors:0 dropped:0 overruns:0 frame:0
          TX packets:51385774 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:985086108000 (985.0 GB)  TX bytes:985086108000 (985.0 GB)

# 

Но я не понимаю, как мне добавить ---------- в файл, так как мне нужно работать с буферизованной переменной child.logfile и sys.stdout.

Заранее спасибо за помощь.

...