저는 파이썬에 대한 중요한 멍청한 행동입니다. 그러나 시스코 등에서 CLI를 많이 사용해보십시오. 나는 Python을 'go to'스크립트 도구로 만들기로 결정했다. 그리고 글쎄, 난 비참하게도 코드의 대부분을 훔쳐 내 첫 시도를 실패했습니다 ... r n은 텍스트 파일에 문자열로 표시됩니다.
나는 호스트 목록의 핑을하고있다. 목적은 1. 유효성을 검사하는 것입니다. 2. IP를 얻으십시오.
온라인으로 얻은 스크립트는 버전 3.4를 약간 수정 한 후에 작동합니다.
디스플레이가 원하는대로 완벽하게 표시됩니다. 그것이 쓰는 파일은 단지 텍스트의 일부로 쓰여진 \ r \ n을 가진 것처럼 보이는 하나의 긴 줄입니다. 이것은 코드와 스크린 디스 플레이 및 작성된 파일의 샘플입니다. 다른 편집기처럼
import sys
import os
import platform
import subprocess
import threading
import pexpect
hosts_file = open("hosts.txt","r")
lines = hosts_file.readlines()
for line in lines:
line = line.strip()
ping = subprocess.Popen(["ping", "-n", "3",line],stdout = subprocess.PIPE,stderr = subprocess.PIPE)
out, error = ping.communicate()
out = out.strip()
error = error.strip()
output = open("PingResults.txt",'a')
output.write(str(out))
output.write(str(error))
print(out.decode('utf-8'))
print(error.decode('utf-8'))
hosts_file.close()
화면 (
Pinging HOST7.foo [10.180.43.209] with 32 bytes of data:
Reply from 10.180.43.209: bytes=32 time=81ms TTL=60
Reply from 10.180.43.209: bytes=32 time=56ms TTL=60
Reply from 10.180.43.209: bytes=32 time=56ms TTL=60
메모장 ++ 볼 수 \ 연구 \ n 인 줄로 읽어 완벽
b'Pinging host7.foo [10.180.43.11] with 32 bytes of data:\r\nReply from 10.18.43.11: bytes=32 time=555ms TTL=60\r\nReply from 10.18.43.11: bytes=32 time=140ms TTL=60\r\nReply from 10.180.43.11: bytes=32 time=139ms TTL=60\r\n\r\nPing statistics for 10.180.43.11:\r\n Packets: Sent = 3, Received = 3, Lost = 0 (0% loss),\r\nApproximate round trip times in milli-seconds:\r\n Minimum = 139ms, Maximum = 555ms, Average = 278ms'b''b'Pinging host9.foo [10.180.43.25] with 32 bytes of data:\r\nReply from
도와 오비완 Kenobie ... 너는 내 유일한 희망이야 ...
메모장에서 입력이 끝나는 위치 ++? – tripleee
메모장을 사용하여 pingresults.txt 파일을 엽니 다. ++ – Seth
다시 바이트를 가져옵니다 (즉, 'b'... ')는 의미가 있습니다. DECODE는 프로그램에 입력 할 때 바이트를 말하고 나가는 도중 엔코 드를 수행합니다. – bernie